Santiagos-MacBook-Pro:prototype-20121204 sescobar$ examples/Amended_Needham-Schroeder-command Wed Dec 5 02:39:10 CET 2012 \||||||||||||||||||/ --- Welcome to Maude --- /||||||||||||||||||\ Maude alpha96b built: Nov 9 2012 18:20:01 Copyright 1997-2011 SRI International Wed Dec 5 02:39:10 2012 Maude> Maude-NPA Version: Dec 4 2012 with direct composition Copyright (c) 2012, University of Illinois All rights reserved. Commands: red unification? . for getting the unification algorithm red genGrammars . for generating grammars red run(X,Y). for Y backwards analysis steps for attack pattern X red summary(X,Y). for summary of analysis steps red initials(X,Y). for showing only initial steps ========================================== reduce in MAUDE-NPA : genGrammars . rewrites: 40723351 in 53560ms cpu (53805ms real) (760317 rewrites/second) result GrammarList: ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg notInI, (#0:Msg notLeq n(#1:Name, #2:Fresh)), (#0:Msg notLeq #3:Name ; n(#4:Name, #5:Fresh) ; #6:Msg), (#0:Msg notLeq n(#7:Name, #8:Fresh) ; #9:Msg), (#0:Msg notLeq seskey(#10:Name, #11:Name, n(#12:Name, #13:Fresh)) ; e( mkey(#11:Name, s), seskey(#10:Name, #11:Name, n(#12:Name, #13:Fresh)) ; #14:Nonce ; #10:Name)), #0:Msg notLeq seskey(#15:Name, #16:Name, n(#17:Name, #18:Fresh)) => (#0:Msg ; #19:Msg) inL . ; grl #0:Msg notInI, (#0:Msg notLeq n(#1:Name, #2:Fresh)), (#0:Msg notLeq #3:Name ; n(#4:Name, #5:Fresh) ; #6:Msg), (#0:Msg notLeq n(#7:Name, #8:Fresh) ; #9:Msg), (#0:Msg notLeq seskey(#10:Name, #11:Name, n(#12:Name, #13:Fresh)) ; e( mkey(#11:Name, s), seskey(#10:Name, #11:Name, n(#12:Name, #13:Fresh)) ; #14:Nonce ; #10:Name)), #0:Msg notLeq seskey(#15:Name, #16:Name, n(#17:Name, #18:Fresh)) => (#19:Name ; #0:Msg) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg notInI, (#0:Msg notLeq n(#1:Name, #2:Fresh)), (#0:Msg notLeq e(mkey(#3:Name, s), seskey(#4:Name, #3:Name, n(#5:Name, #6:Fresh)) ; #7:Nonce ; #4:Name)), (#0:Msg notLeq #8:Name ; n(#9:Name, #10:Fresh) ; #11:Msg), (#0:Msg notLeq #12:Name ; seskey(#13:Name, #12:Name, n(#14:Name, #15:Fresh)) ; e(mkey(#12:Name, s), seskey(#13:Name, #12:Name, n(#14:Name, #15:Fresh)) ; #16:Nonce ; #13:Name)), (#0:Msg notLeq #17:Nonce ; #18:Name), (#0:Msg notLeq n( #19:Name, #20:Fresh) ; #21:Msg), #0:Msg notLeq seskey(#22:Name, #23:Name, n(#24:Name, #25:Fresh)) ; e(mkey(#23:Name, s), seskey(#22:Name, #23:Name, n(#24:Name, #25:Fresh)) ; #26:Nonce ; #22:Name) => (#27:Msg ; #0:Msg) inL .) | (errorNoHeuristicApplied { grl empty => (#1:Msg ; #2:Msg) inL .,none, grl empty => (#1:Msg,#2:Msg) inL .,none, grl empty => (#1:Msg,#2:Msg) inL .} usingGrammar grl empty => (#1:Msg ; #2:Msg) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Key notInI => d(#0:Key, #1:Msg) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg notInI => d(#1:Key, #0:Msg) inL .) | (errorNoHeuristicApplied { grl empty => d(#1:Key, #2:Msg) inL .,none, grl empty => (#2:Msg,#1:Key) inL .,none, grl empty => (#2:Msg,#1:Key) inL .} usingGrammar grl empty => d(#1:Key, #2:Msg) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg notInI, (#0:Msg notLeq dec(#1:Nonce)), #0:Msg notLeq n(#2:Name, #3:Fresh) => e(#4:Sessionkey, #0:Msg) inL . ; grl #0:Nonce notInI, (#0:Nonce notLeq dec(#1:Nonce)), #0:Nonce notLeq n(#2:Name, #3:Fresh) => dec(#0:Nonce) inL .) | (errorNoHeuristicApplied { grl empty => dec(#1:Nonce) inL .,none, grl empty => #1:Nonce inL .,none, grl empty => #1:Nonce inL .} usingGrammar grl empty => dec(#1:Nonce) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Key notInI, (#0:Key notLeq #1:Sessionkey), #0:Key notLeq mkey(#2:Name, s) => e(#0:Key, #3:Msg) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg notInI, (#0:Msg notLeq dec(#1:Nonce)), (#0:Msg notLeq n(#2:Name, #3:Fresh)), (#0:Msg notLeq #4:Name ; n(#5:Name, #6:Fresh)), (#0:Msg notLeq #7:Nonce ; #8:Name ; seskey(#9:Name, #8:Name, n(#10:Name, #11:Fresh)) ; e(mkey( #8:Name, s), seskey(#9:Name, #8:Name, n(#10:Name, #11:Fresh)) ; #12:Nonce ; #9:Name)), #0:Msg notLeq seskey(#13:Name, #14:Name, n(#15:Name, #16:Fresh)) ; #17:Nonce ; #13:Name => e(#18:Key, #0:Msg) inL .) | (errorNoHeuristicApplied { grl empty => e(#1:Key, #2:Msg) inL .,none, grl empty => (#2:Msg,#1:Key) inL .,none, grl empty => (#2:Msg,#1:Key) inL .} usingGrammar grl empty => e(#1:Key, #2:Msg) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl (mkey(#0:Name, #1:Name) notLeq mkey(i, #2:Name)), mkey(#0:Name, #1:Name) notLeq mkey(#3:Name, i) => mkey(#0:Name, #1:Name) inL .) | (errorInconsistentExceptionsInGrammarRule grl n(#0:Name, #1:Fresh) notLeq #7:Nonce => n(#0:Name, #1:Fresh) inL . inGrammar grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Nonce inL => dec(#0:Nonce) inL . ; grl n(#0:Name, #1:Fresh) notLeq #7:Nonce => n(#0:Name, #1:Fresh) inL .) | ( grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl #0:Nonce notInI, #0:Nonce notLeq n(#1:Name, #2:Fresh) => seskey(#3:Name, #4:Name, #0:Nonce) inL .) | grl #0:Msg inL => e(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => d(#1:Key, #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg inL => (#1:Msg ; #0:Msg) inL . ; grl seskey(#0:Name, #1:Name, #2:Nonce) notLeq seskey(#3:Name, #4:Name, n(#5:Name, #6:Fresh)) => seskey(#0:Name, #1:Name, #2:Nonce) inL . ========================================== reduce in MAUDE-NPA : run(0) . rewrites: 4547 in 29ms cpu (36ms real) (152814 rewrites/second) result IdSystem: < 1 > :: r1:Fresh,r0:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, r0:Fresh))), -(e(mkey(b, s), SK:Sessionkey ; n(b, r0:Fresh) ; a)), +(e(SK:Sessionkey, n(b, r1:Fresh))), -(e(SK:Sessionkey, dec(n(b, r1:Fresh)))) | nil] || empty || nil || nil || nil ========================================== reduce in MAUDE-NPA : summary(1) . rewrites: 3046793 in 4213ms cpu (4227ms real) (723044 rewrites/second) result Summary: States>> 2 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(2) . rewrites: 2664679 in 3973ms cpu (3991ms real) (670677 rewrites/second) result Summary: States>> 4 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(3) . rewrites: 10744938 in 15782ms cpu (15833ms real) (680801 rewrites/second) result Summary: States>> 8 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(4) . rewrites: 26351989 in 38261ms cpu (38405ms real) (688732 rewrites/second) result Summary: States>> 19 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(5) . rewrites: 76434118 in 102786ms cpu (103091ms real) (743623 rewrites/second) result Summary: States>> 38 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(6) . rewrites: 265667583 in 328062ms cpu (328910ms real) (809808 rewrites/second) result Summary: States>> 72 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(7) . rewrites: 934621688 in 1023264ms cpu (1032453ms real) (913372 rewrites/second) result Summary: States>> 142 Solutions>> 1 ========================================== reduce in MAUDE-NPA : run(1) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< 1 . 2 > ( :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: #0:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #0:Fresh))) | -(e(#1:Sessionkey, dec(n(b, #0:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #0:Fresh))) !inI, dec(n(b, #0:Fresh)) inI || -(dec(n(b, #0:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #0:Fresh)))) || ghost( #1:Sessionkey, :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: #0:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #0:Fresh))) | -(e(#1:Sessionkey, dec(n(b, #0:Fresh)))), nil] , e(#1:Sessionkey, dec(n(b, #0:Fresh))) !inI, dec(n(b, #0:Fresh)) inI, -(dec(n(b, #0:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #0:Fresh)))), nil ) || nil) < 1 . 7 > ( :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg) | -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) inI || -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil ========================================== reduce in MAUDE-NPA : run(2) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< 1 . 2 . 2 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, dec(n(b, #1:Fresh)))), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#0:Key, dec(n(b, #1:Fresh))) inI || -(#0:Key), -(e(#0:Key, dec(n(b, #1:Fresh)))), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, dec(n(b, #1:Fresh)))), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] , dec(n(b, #1:Fresh)) !inI, e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#0:Key, dec(n(b, #1:Fresh))) inI, -(#0:Key), -(e(#0:Key, dec(n(b, #1:Fresh)))), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil ), ghost( #3:Sessionkey, :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] , e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, dec(n(b, #1:Fresh)) inI, -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil ) || nil) (< 1 . 2 . 3 > ( :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(b, s), #2:Sessionkey ; n(b, #1:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #0:Fresh))) | -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] ) || dec(n(b, #0:Fresh)) !inI, e(#2:Sessionkey, dec(n(b, #0:Fresh))) !inI, n(b, #0:Fresh) inI || -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))) || ghost( #2:Sessionkey, :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(b, s), #2:Sessionkey ; n(b, #1:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #0:Fresh))) | -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] , e(#2:Sessionkey, dec(n(b, #0:Fresh))) !inI, dec(n(b, #0:Fresh)) inI, -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil ) || nil) (< 1 . 7 . 1 > ( :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) < 1 . 7 . 3 > ( :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg) | -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a) inI || -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil ========================================== reduce in MAUDE-NPA : run(3) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< 1 . 2 . 3 . 2 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(b, #1:Fresh))), +(n(b, #1:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#0:Key, n(b, #1:Fresh)) inI || -(#0:Key), -(e(#0:Key, n(b, #1:Fresh))), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(b, #1:Fresh))), +(n(b, #1:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] , dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#0:Key, n(b, #1:Fresh)) inI, -(#0:Key), -(e(#0:Key, n(b, #1:Fresh))), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil ), ghost( #3:Sessionkey, :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] , e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, dec(n(b, #1:Fresh)) inI, -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 > ( :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(n(b, #0:Fresh) ; #1:Msg), +(n(b, #0:Fresh)), nil] & :: #0:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #0:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #0:Fresh)))), nil] ) || dec(n(b, #0:Fresh)) !inI, n(b, #0:Fresh) !inI, e(#3:Sessionkey, dec(n(b, #0:Fresh))) !inI, (n(b, #0:Fresh) ; #1:Msg) inI || -(n(b, #0:Fresh) ; #1:Msg), +(n(b, #0:Fresh)), -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), -(dec(n(b, #0:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #0:Fresh)))) || ghost( #3:Sessionkey, :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: #0:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #0:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #0:Fresh)))), nil] , e(#3:Sessionkey, dec(n(b, #0:Fresh))) !inI, dec(n(b, #0:Fresh)) inI, -(dec(n(b, #0:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #0:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 > ( :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(b, #1:Fresh)), +(n(b, #1:Fresh)), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, (#0:Msg ; n(b, #1:Fresh)) inI || -(#0:Msg ; n(b, #1:Fresh)), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))) || ghost( #3:Sessionkey, :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#2:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #1:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil] , e(#3:Sessionkey, dec(n(b, #1:Fresh))) !inI, dec(n(b, #1:Fresh)) inI, -(dec(n(b, #1:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #1:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #5:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #5:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 7 . 1 . 2 > ( :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a) inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg) inI || -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 > ( :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 > ( :: nil :: [ nil | -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #1:Sessionkey ; #7:Msg)), +(#7:Msg) | -(e(#1:Sessionkey, n(b, #8:Fresh))), +(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #2:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #8:Fresh))), -(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#1:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a) !inI, (#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) inI || -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #8:Fresh))), -(e(#1:Sessionkey, n(b, #8:Fresh))), +(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) < 1 . 7 . 3 . 9 > ( :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg) | -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a) !inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil ========================================== reduce in MAUDE-NPA : run(4) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< 1 . 2 . 3 . 2 . 1 > ( :: nil :: [ nil | -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #0:Fresh))), +(n(b, #0:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #1:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #0:Fresh))), -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] ) || dec(n(b, #0:Fresh)) !inI, n(b, #0:Fresh) !inI, e(#2:Sessionkey, dec(n(b, #0:Fresh))) !inI, e(#2:Sessionkey, n(b, #0:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #1:Fresh) ; a) inI || -(e(mkey(b, s), #2:Sessionkey ; n(b, #1:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #0:Fresh))), -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #0:Fresh))), +(n(b, #0:Fresh)), -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))) || ghost( #2:Sessionkey, :: nil :: [ nil | -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #0:Fresh))), +(n(b, #0:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(b, s), #2:Sessionkey ; n(b, #1:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #0:Fresh))) | -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil] , dec(n(b, #0:Fresh)) !inI, n(b, #0:Fresh) !inI, e(#2:Sessionkey, dec(n(b, #0:Fresh))) !inI, e(#2:Sessionkey, n(b, #0:Fresh)) inI, -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #0:Fresh))), +(n(b, #0:Fresh)), -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), -(dec(n(b, #0:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #0:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 3 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(b, #1:Fresh) ; #2:Msg)), +(n(b, #1:Fresh) ; #2:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), nil] & :: #1:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #1:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #1:Fresh))) !inI, (n(b, #1:Fresh) ; #2:Msg) !inI, e(#0:Key, n(b, #1:Fresh) ; #2:Msg) inI || -(#0:Key), -(e(#0:Key, n(b, #1:Fresh) ; #2:Msg)), +(n(b, #1:Fresh) ; #2:Msg), -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(b, #1:Fresh) ; #2:Msg)), +(n(b, #1:Fresh) ; #2:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), nil] & :: #1:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #1:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] , dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #1:Fresh))) !inI, (n(b, #1:Fresh) ; #2:Msg) !inI, e(#0:Key, n(b, #1:Fresh) ; #2:Msg) inI, -(#0:Key), -(e(#0:Key, n(b, #1:Fresh) ; #2:Msg)), +(n(b, #1:Fresh) ; #2:Msg), -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil ), ghost( #4:Sessionkey, :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #1:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #1:Fresh))) !inI, dec(n(b, #1:Fresh)) inI, -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 4 > ( :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(n(b, #0:Fresh) ; #1:Msg), +(n(b, #0:Fresh)), nil] & :: nil :: [ nil | -((n(b, #0:Fresh) ; #1:Msg) ; #2:Msg), +(n(b, #0:Fresh) ; #1:Msg), nil] & :: #0:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #0:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #0:Fresh)))), nil] ) || dec(n(b, #0:Fresh)) !inI, n(b, #0:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #0:Fresh))) !inI, (n(b, #0:Fresh) ; #1:Msg) !inI, ((n(b, #0:Fresh) ; #1:Msg) ; #2:Msg) inI || -((n(b, #0:Fresh) ; #1:Msg) ; #2:Msg), +(n(b, #0:Fresh) ; #1:Msg), -(n(b, #0:Fresh) ; #1:Msg), +(n(b, #0:Fresh)), -(n(b, #0:Fresh)), +(dec(n(b, #0:Fresh))), -(dec(n(b, #0:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #0:Fresh)))) || ghost( #4:Sessionkey, :: nil :: [ nil | -(dec(n(b, #0:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #0:Fresh)))), nil] & :: #0:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #0:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #0:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #0:Fresh))) !inI, dec(n(b, #0:Fresh)) inI, -(dec(n(b, #0:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #0:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #0:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 > ( :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh) ; #2:Msg), nil] & :: nil :: [ nil | -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), nil] & :: #1:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #1:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #1:Fresh))) !inI, (n(b, #1:Fresh) ; #2:Msg) !inI, (#0:Msg ; n(b, #1:Fresh) ; #2:Msg) inI || -(#0:Msg ; n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh) ; #2:Msg), -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))) || ghost( #4:Sessionkey, :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #1:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #1:Fresh))) !inI, dec(n(b, #1:Fresh)) inI, -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #5:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#8:Sessionkey, dec(n(b, #5:Fresh))) !inI, (n(b, #5:Fresh) ; #6:Msg) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #8:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #5:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#8:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 2 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh))), +(#1:Msg ; n(b, #2:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), nil] & :: #2:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #2:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] ) || dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#1:Msg ; n(b, #2:Fresh)) !inI, e(#0:Key, #1:Msg ; n(b, #2:Fresh)) inI || -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh))), +(#1:Msg ; n(b, #2:Fresh)), -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh))), +(#1:Msg ; n(b, #2:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), nil] & :: #2:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #2:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] , dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#1:Msg ; n(b, #2:Fresh)) !inI, e(#0:Key, #1:Msg ; n(b, #2:Fresh)) inI, -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh))), +(#1:Msg ; n(b, #2:Fresh)), -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil ), ghost( #4:Sessionkey, :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #2:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #2:Fresh))) !inI, dec(n(b, #2:Fresh)) inI, -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 4 > ( :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(b, #1:Fresh)), +(n(b, #1:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; n(b, #1:Fresh)) ; #2:Msg), +(#0:Msg ; n(b, #1:Fresh)), nil] & :: #1:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #1:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #1:Fresh))) !inI, (#0:Msg ; n(b, #1:Fresh)) !inI, ((#0:Msg ; n(b, #1:Fresh)) ; #2:Msg) inI || -((#0:Msg ; n(b, #1:Fresh)) ; #2:Msg), +(#0:Msg ; n(b, #1:Fresh)), -(#0:Msg ; n(b, #1:Fresh)), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))) || ghost( #4:Sessionkey, :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #1:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #1:Fresh))) !inI, dec(n(b, #1:Fresh)) inI, -(dec(n(b, #1:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #1:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 > ( :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(b, #2:Fresh)), +(#1:Msg ; n(b, #2:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), nil] & :: #2:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #2:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] ) || dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#1:Msg ; n(b, #2:Fresh)) !inI, (#0:Msg ; #1:Msg ; n(b, #2:Fresh)) inI || -(#0:Msg ; #1:Msg ; n(b, #2:Fresh)), +(#1:Msg ; n(b, #2:Fresh)), -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))) || ghost( #4:Sessionkey, :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #2:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #2:Fresh))) !inI, dec(n(b, #2:Fresh)) inI, -(dec(n(b, #2:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #2:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #6:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#8:Sessionkey, dec(n(b, #6:Fresh))) !inI, (#5:Msg ; n(b, #6:Fresh)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #8:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #6:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#8:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 > ( :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#5:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #5:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), +(n(b, #4:Fresh)), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 7 . 1 . 2 . 7 > ( :: nil :: [ nil | -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #1:Sessionkey ; #7:Msg)), +(#7:Msg), -(e(#1:Sessionkey, n(b, #8:Fresh))), +(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #2:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #8:Fresh))), -(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#1:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #1:Sessionkey ; #7:Msg) inI, (#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) inI || -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #8:Fresh))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #1:Sessionkey ; #7:Msg)), +(#7:Msg), -(e(#1:Sessionkey, n(b, #8:Fresh))), +(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 > ( :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#5:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #5:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#3:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 > ( :: #0:Fresh :: [ nil, +(a), -(#1:Msg), +(a ; b ; n(a, #0:Fresh) ; #1:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] & :: #3:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) inI, inst(#2:Name) || -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a) !inI, (#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 7 > ( :: nil :: [ nil | -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg), +(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#5:Name), -(#6:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #4:Fresh) ; #6:Msg), -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #1:Sessionkey ; #8:Msg)), +(#8:Msg) | -(e(#1:Sessionkey, n(b, #9:Fresh))), +(e(#1:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #2:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #9:Fresh))), -(e(#1:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#1:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a) !inI, (#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) !inI, ((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg) inI || -((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg), +(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #9:Fresh))), -(e(#1:Sessionkey, n(b, #9:Fresh))), +(e(#1:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#5:Name), -(#6:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #4:Fresh) ; #6:Msg), -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #2:Sessionkey ; #8:Msg)), +(#8:Msg) | -(e(#2:Sessionkey, n(b, #9:Fresh))), +(e(#2:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #3:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #9:Fresh))), -(e(#2:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#2:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, (#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #9:Fresh))), -(e(#2:Sessionkey, n(b, #9:Fresh))), +(e(#2:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 > ( :: nil :: [ nil | -(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg) | -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a))), +(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a) !inI, (#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a))), +(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), -(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) < 1 . 7 . 3 . 9 . 8 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#12:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #12:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg) | -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil ========================================== reduce in MAUDE-NPA : run(5) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< 1 . 2 . 3 . 2 . 1 . 6 > ( :: nil :: [ nil | -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #3:Fresh))), +(n(b, #3:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: #2:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #3:Fresh))), -(e(#1:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#1:Sessionkey, dec(n(b, #3:Fresh))) !inI, e(#1:Sessionkey, n(b, #3:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a) !inI, (#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) inI || -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #3:Fresh))), -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #3:Fresh))), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #1:Sessionkey, :: nil :: [ nil | -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #3:Fresh))), +(n(b, #3:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #3:Fresh))) | -(e(#1:Sessionkey, dec(n(b, #3:Fresh)))), nil] , dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#1:Sessionkey, dec(n(b, #3:Fresh))) !inI, e(#1:Sessionkey, n(b, #3:Fresh)) inI, -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #3:Fresh))), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 7 > ( :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #7:Fresh))), -(e(#5:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#5:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #7:Fresh))), -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #7:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #7:Fresh)))), nil] , dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#5:Sessionkey, n(b, #7:Fresh)) inI, -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 2 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh) ; #3:Msg)), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #2:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] ) || dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#1:Msg ; n(b, #2:Fresh) ; #3:Msg) !inI, (n(b, #2:Fresh) ; #3:Msg) !inI, e(#0:Key, #1:Msg ; n(b, #2:Fresh) ; #3:Msg) inI || -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh) ; #3:Msg)), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh) ; #3:Msg)), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #2:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] , dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#1:Msg ; n(b, #2:Fresh) ; #3:Msg) !inI, (n(b, #2:Fresh) ; #3:Msg) !inI, e(#0:Key, #1:Msg ; n(b, #2:Fresh) ; #3:Msg) inI, -(#0:Key), -(e(#0:Key, #1:Msg ; n(b, #2:Fresh) ; #3:Msg)), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil ), ghost( #5:Sessionkey, :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #2:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] , e(#5:Sessionkey, dec(n(b, #2:Fresh))) !inI, dec(n(b, #2:Fresh)) inI, -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 4 > ( :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh) ; #2:Msg), nil] & :: nil :: [ nil | -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; n(b, #1:Fresh) ; #2:Msg) ; #3:Msg), +(#0:Msg ; n(b, #1:Fresh) ; #2:Msg), nil] & :: #1:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #1:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #1:Fresh))) !inI, (#0:Msg ; n(b, #1:Fresh) ; #2:Msg) !inI, (n(b, #1:Fresh) ; #2:Msg) !inI, ((#0:Msg ; n(b, #1:Fresh) ; #2:Msg) ; #3:Msg) inI || -((#0:Msg ; n(b, #1:Fresh) ; #2:Msg) ; #3:Msg), +(#0:Msg ; n(b, #1:Fresh) ; #2:Msg), -(#0:Msg ; n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh) ; #2:Msg), -(n(b, #1:Fresh) ; #2:Msg), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #1:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #1:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #1:Fresh)))), nil] , e(#5:Sessionkey, dec(n(b, #1:Fresh))) !inI, dec(n(b, #1:Fresh)) inI, -(dec(n(b, #1:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #1:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 > ( :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #2:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] ) || dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#1:Msg ; n(b, #2:Fresh) ; #3:Msg) !inI, (n(b, #2:Fresh) ; #3:Msg) !inI, (#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg) inI || -(#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #2:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] , e(#5:Sessionkey, dec(n(b, #2:Fresh))) !inI, dec(n(b, #2:Fresh)) inI, -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 7 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, (#5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (n(b, #6:Fresh) ; #7:Msg) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 > ( :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#6:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #6:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), +(n(b, #4:Fresh) ; #5:Msg), nil] & :: #4:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #4:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#8:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg) !inI, (n(b, #4:Fresh) ; #5:Msg) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), +(n(b, #4:Fresh) ; #5:Msg), -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #8:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #4:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#8:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 4 > ( :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(b, #2:Fresh)), +(#1:Msg ; n(b, #2:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; n(b, #2:Fresh)) ; #3:Msg), +(#0:Msg ; #1:Msg ; n(b, #2:Fresh)), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #2:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] ) || dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#0:Msg ; #1:Msg ; n(b, #2:Fresh)) !inI, (#1:Msg ; n(b, #2:Fresh)) !inI, ((#0:Msg ; #1:Msg ; n(b, #2:Fresh)) ; #3:Msg) inI || -((#0:Msg ; #1:Msg ; n(b, #2:Fresh)) ; #3:Msg), +(#0:Msg ; #1:Msg ; n(b, #2:Fresh)), -(#0:Msg ; #1:Msg ; n(b, #2:Fresh)), +(#1:Msg ; n(b, #2:Fresh)), -(#1:Msg ; n(b, #2:Fresh)), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #2:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil] , e(#5:Sessionkey, dec(n(b, #2:Fresh))) !inI, dec(n(b, #2:Fresh)) inI, -(dec(n(b, #2:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #2:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 > ( :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#2:Msg ; n(b, #3:Fresh)), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh)), +(n(b, #3:Fresh)), nil] & :: #3:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #3:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #3:Fresh))) !inI, (#1:Msg ; #2:Msg ; n(b, #3:Fresh)) !inI, (#2:Msg ; n(b, #3:Fresh)) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), -(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#2:Msg ; n(b, #3:Fresh)), -(#2:Msg ; n(b, #3:Fresh)), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: #3:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #3:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #3:Fresh)))), nil] , e(#5:Sessionkey, dec(n(b, #3:Fresh))) !inI, dec(n(b, #3:Fresh)) inI, -(dec(n(b, #3:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 7 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), nil] & :: #7:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #7:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #7:Fresh))) !inI, (#5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#6:Msg ; n(b, #7:Fresh)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #7:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; n(b, #5:Fresh)), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#6:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #6:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), +(#4:Msg ; n(b, #5:Fresh)), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #5:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#8:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)) !inI, (#4:Msg ; n(b, #5:Fresh)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), +(#4:Msg ; n(b, #5:Fresh)), -(#4:Msg ; n(b, #5:Fresh)), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #8:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #5:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#8:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 8 > ( :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)) ; #5:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#6:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #6:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), +(n(b, #4:Fresh)), nil] & :: #4:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #4:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#8:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)) ; #5:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)) ; #5:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh))), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #8:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #4:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#8:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#6:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #6:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #5:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#8:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #8:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #5:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#8:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #5:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#12:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, mkey(#1:Name, s) inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) inI || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #12:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #5:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#12:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 7 . 1 . 2 . 7 . 8 > ( :: nil :: [ nil | -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg), +(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#5:Name), -(#6:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #4:Fresh) ; #6:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #1:Sessionkey ; #8:Msg)), +(#8:Msg), -(e(#1:Sessionkey, n(b, #9:Fresh))), +(e(#1:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #2:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #9:Fresh))), -(e(#1:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#1:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a) !inI, (#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) !inI, e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #1:Sessionkey ; #8:Msg) inI, ((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg) inI || -((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg), +(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #9:Fresh))), -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #1:Sessionkey ; #8:Msg)), +(#8:Msg), -(e(#1:Sessionkey, n(b, #9:Fresh))), +(e(#1:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 10 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#5:Name), -(#6:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #4:Fresh) ; #6:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #2:Sessionkey ; #8:Msg)), +(#8:Msg), -(e(#2:Sessionkey, n(b, #9:Fresh))), +(e(#2:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #3:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #9:Fresh))), -(e(#2:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#2:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, (#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #2:Sessionkey ; #8:Msg) inI, (#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #9:Fresh))), -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #7:Name ; #2:Sessionkey ; #8:Msg)), +(#8:Msg), -(e(#2:Sessionkey, n(b, #9:Fresh))), +(e(#2:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 15 > ( :: nil :: [ nil | -(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a))), +(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a) !inI, (#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a))), +(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), -(#12:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#12:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #12:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(#3:Sessionkey, n(b, #5:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 6 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#6:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #6:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#6:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #6:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey), -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 7 . 3 . 2 . 6 . 10 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#6:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #6:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 11 > ( :: nil :: [ nil | -(#0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(n(#3:Name, #4:Fresh)), +(n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#5:Msg), +(#3:Name ; #0:Name ; n(#3:Name, #4:Fresh) ; #5:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(#1:Sessionkey, n(b, #6:Fresh))), +(e(#1:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #6:Fresh))), -(e(#1:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#1:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) !inI, (n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) !inI, n(#3:Name, #4:Fresh) inI, mkey(#3:Name, s) inI, (#0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) inI, inst(#1:Sessionkey) || -(#0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(n(#3:Name, #4:Fresh)), +(n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #0:Name ; #1:Sessionkey ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #6:Fresh))), -(e(#1:Sessionkey, n(b, #6:Fresh))), +(e(#1:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 12 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#6:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #6:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #4:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#3:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg) inI, inst(#3:Sessionkey) || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 > ( :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 2 > ( :: #0:Fresh :: [ nil, +(a) | -(e(mkey(b, s), a ; n(b, #1:Fresh))), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), nil] & :: #3:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, e(mkey(b, s), a ; n(b, #1:Fresh)) inI, inst(#2:Name) || -(e(mkey(b, s), a ; n(b, #1:Fresh))), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 > ( :: nil :: [ nil | -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: #0:Fresh :: [ nil, +(a), -(#2:Msg), +(a ; b ; n(a, #0:Fresh) ; #2:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))), nil] & :: #4:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a) !inI, e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, (b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) inI, inst(#3:Name) || -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 > ( :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#6:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #6:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#3:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 1 > ( :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #7:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#4:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 7 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #8:Name ; n(#6:Name, #5:Fresh) ; #7:Msg), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #2:Sessionkey ; #9:Msg)), +(#9:Msg) | -(e(#2:Sessionkey, n(b, #10:Fresh))), +(e(#2:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #3:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #10:Fresh))), -(e(#2:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#2:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, (#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, ((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg) inI || -((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #10:Fresh))), -(e(#2:Sessionkey, n(b, #10:Fresh))), +(e(#2:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #8:Name ; n(#6:Name, #5:Fresh) ; #7:Msg), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #3:Sessionkey ; #9:Msg)), +(#9:Msg) | -(e(#3:Sessionkey, n(b, #10:Fresh))), +(e(#3:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #4:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #10:Fresh))), -(e(#3:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#3:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #10:Fresh))), -(e(#3:Sessionkey, n(b, #10:Fresh))), +(e(#3:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 9 > ( :: nil :: [ nil | -(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg) | -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a))), +(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), nil] & :: #6:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #14:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a) !inI, (#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)) !inI, (#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a))), +(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), -(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), -(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 > ( :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#13:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #13:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg) | -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 > ( :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#5:Sessionkey, n(b, #11:Fresh))), +(e(#5:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #6:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #11:Fresh))), -(e(#5:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#5:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #11:Fresh))), -(e(#5:Sessionkey, n(b, #11:Fresh))), +(e(#5:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 9 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#5:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] , e(#5:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#5:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil ) || nil) (< 1 . 7 . 3 . 9 . 8 . 13 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#5:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 15 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #4:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#4:Sessionkey, n(b, #13:Fresh))), +(e(#4:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #5:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #13:Fresh))), -(e(#4:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#4:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #13:Fresh))), -(e(#4:Sessionkey, n(b, #13:Fresh))), +(e(#4:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 > ( :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg) | -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg) | -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) < 1 . 2 . 3 . 4 . 3 . 8 . 0 > ( :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(mkey(#1:Name, s)), -(e(mkey(#1:Name, s), n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name))), +(n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name)), nil] & :: nil :: [ nil | -(n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name)), +(n(b, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(#1:Name ; #2:Name ; n(b, #3:Fresh) ; e(mkey(#2:Name, s), #1:Name ; #4:Nonce)), +(e(mkey(#1:Name, s), n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name))) | nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #3:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #3:Fresh))) !inI, (n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name)) !inI, mkey(#1:Name, s) inI, e(mkey(#1:Name, s), n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name)) inI || resuscitated(mkey(#1:Name, s)), -(mkey(#1:Name, s)), -(e(mkey(#1:Name, s), n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name))), +(n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name)), -(n(b, #3:Fresh) ; #2:Name ; seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; e(mkey(#2:Name, s), seskey(#1:Name, #2:Name, n(#5:Name, #0:Fresh)) ; #4:Nonce ; #1:Name)), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #3:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #3:Fresh))) !inI, dec(n(b, #3:Fresh)) inI, -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(6) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< 1 . 2 . 3 . 2 . 1 . 6 . 3 > ( :: nil :: [ nil | -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg), +(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #4:Fresh))), -(e(#1:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#1:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(#1:Sessionkey, n(b, #4:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a) !inI, (#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) !inI, ((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg) inI || -((#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)) ; #3:Msg), +(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(#0:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #4:Fresh))), -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #1:Sessionkey, :: nil :: [ nil | -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: #2:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))), -(e(mkey(b, s), #1:Sessionkey ; n(b, #2:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #4:Fresh))) | -(e(#1:Sessionkey, dec(n(b, #4:Fresh)))), nil] , dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#1:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(#1:Sessionkey, n(b, #4:Fresh)) inI, -(#1:Sessionkey), -(e(#1:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#1:Sessionkey), +(e(#1:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 6 . 6 > ( :: nil :: [ nil | -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #3:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #4:Fresh))), -(e(#2:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#2:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(#2:Sessionkey, n(b, #4:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, (#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #4:Fresh))), -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #2:Sessionkey, :: nil :: [ nil | -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: #3:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #4:Fresh))) | -(e(#2:Sessionkey, dec(n(b, #4:Fresh)))), nil] , dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#2:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(#2:Sessionkey, n(b, #4:Fresh)) inI, -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #4:Fresh))), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 6 . 7 > ( :: nil :: [ nil | -(#6:Sessionkey), -(e(#6:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #7:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #8:Fresh))), -(e(#6:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#6:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #8:Fresh))), -(#6:Sessionkey), -(e(#6:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #6:Sessionkey, :: nil :: [ nil | -(#6:Sessionkey), -(e(#6:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: #7:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #8:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #8:Fresh)))), nil] , dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#6:Sessionkey, n(b, #8:Fresh)) inI, -(#6:Sessionkey), -(e(#6:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 3 > ( :: nil :: [ nil | -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#6:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #6:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #4:Sessionkey, :: nil :: [ nil | -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] , dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) inI, -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 2 . 5 > ( :: nil :: [ nil | -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #3:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #3:Fresh))) !inI, e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (#2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (n(b, #3:Fresh) ; #4:Msg) !inI, (#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)) inI || -(#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #1:Key, :: nil :: [ nil | -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #3:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] , dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #3:Fresh))) !inI, (#2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (n(b, #3:Fresh) ; #4:Msg) !inI, e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg) inI, -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil ), ghost( #6:Sessionkey, :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #3:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] , e(#6:Sessionkey, dec(n(b, #3:Fresh))) !inI, dec(n(b, #3:Fresh)) inI, -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 2 . 7 > ( :: nil :: [ nil | -(#5:Key), -(e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), +(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh) ; #8:Msg), nil] & :: nil :: [ nil | -(n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg))), +(e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg) !inI, (#6:Msg ; n(b, #7:Fresh) ; #8:Msg) !inI, (n(b, #7:Fresh) ; #8:Msg) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg))), +(e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), -(#5:Key), -(e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), +(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), -(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh) ; #8:Msg), -(n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #5:Key, :: nil :: [ nil | -(#5:Key), -(e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), +(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh) ; #8:Msg), nil] & :: nil :: [ nil | -(n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh)), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, (#6:Msg ; n(b, #7:Fresh) ; #8:Msg) !inI, (n(b, #7:Fresh) ; #8:Msg) !inI, e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg) inI, -(#5:Key), -(e(#5:Key, #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), +(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), -(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh) ; #8:Msg), -(n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ), ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 . 5 > ( :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), nil] & :: nil :: [ nil | -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg) ; #4:Msg), +(#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg), nil] & :: #2:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #2:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] ) || dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #2:Fresh))) !inI, (#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg) !inI, (#1:Msg ; n(b, #2:Fresh) ; #3:Msg) !inI, (n(b, #2:Fresh) ; #3:Msg) !inI, ((#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg) ; #4:Msg) inI || -((#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg) ; #4:Msg), +(#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg), -(#0:Msg ; #1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), -(#1:Msg ; n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh) ; #3:Msg), -(n(b, #2:Fresh) ; #3:Msg), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))) || ghost( #6:Sessionkey, :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #2:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] , e(#6:Sessionkey, dec(n(b, #2:Fresh))) !inI, dec(n(b, #2:Fresh)) inI, -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 . 7 > ( :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #3:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #3:Fresh))) !inI, (#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (#2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (n(b, #3:Fresh) ; #4:Msg) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #6:Sessionkey, :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #3:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] , e(#6:Sessionkey, dec(n(b, #3:Fresh))) !inI, dec(n(b, #3:Fresh)) inI, -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 . 8 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh) ; #8:Msg), nil] & :: nil :: [ nil | -(n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, (#5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg) !inI, (#6:Msg ; n(b, #7:Fresh) ; #8:Msg) !inI, (n(b, #7:Fresh) ; #8:Msg) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg)), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg), -(#5:Msg ; #6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), -(#6:Msg ; n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh) ; #8:Msg), -(n(b, #7:Fresh) ; #8:Msg), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 7 . 5 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh) ; #6:Msg), nil] & :: nil :: [ nil | -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), +(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg) !inI, (#4:Msg ; n(b, #5:Fresh) ; #6:Msg) !inI, (n(b, #5:Fresh) ; #6:Msg) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), +(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), -(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh) ; #6:Msg), -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 . 8 > ( :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), +(n(b, #4:Fresh) ; #5:Msg), nil] & :: #4:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #4:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg) !inI, (n(b, #4:Fresh) ; #5:Msg) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg) ; #6:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(b, #4:Fresh) ; #5:Msg)), +(n(b, #4:Fresh) ; #5:Msg), -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #4:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 . 10 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), nil] & :: #5:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #5:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, (n(b, #5:Fresh) ; #6:Msg) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #5:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 . 12 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), nil] & :: nil :: [ nil | -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, (n(b, #5:Fresh) ; #6:Msg) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 . 5 > ( :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#2:Msg ; n(b, #3:Fresh)), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh)), +(n(b, #3:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)) ; #4:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #3:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #3:Fresh))) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)) !inI, (#1:Msg ; #2:Msg ; n(b, #3:Fresh)) !inI, (#2:Msg ; n(b, #3:Fresh)) !inI, ((#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)) ; #4:Msg) inI || -((#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)) ; #4:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)), -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), -(#1:Msg ; #2:Msg ; n(b, #3:Fresh)), +(#2:Msg ; n(b, #3:Fresh)), -(#2:Msg ; n(b, #3:Fresh)), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #6:Sessionkey, :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #3:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil] , e(#6:Sessionkey, dec(n(b, #3:Fresh))) !inI, dec(n(b, #3:Fresh)) inI, -(dec(n(b, #3:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 . 7 > ( :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#3:Msg ; n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(#3:Msg ; n(b, #4:Fresh)), +(n(b, #4:Fresh)), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #4:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#6:Sessionkey, dec(n(b, #4:Fresh))) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)) !inI, (#2:Msg ; #3:Msg ; n(b, #4:Fresh)) !inI, (#3:Msg ; n(b, #4:Fresh)) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), -(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), -(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#3:Msg ; n(b, #4:Fresh)), -(#3:Msg ; n(b, #4:Fresh)), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #6:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #4:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#6:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 . 8 > ( :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh)), +(#6:Msg ; #7:Msg ; n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(#6:Msg ; #7:Msg ; n(b, #8:Fresh)), +(#7:Msg ; n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(#7:Msg ; n(b, #8:Fresh)), +(n(b, #8:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh))), +(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh)), nil] & :: #8:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #8:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #8:Fresh))) !inI, (#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh)) !inI, (#6:Msg ; #7:Msg ; n(b, #8:Fresh)) !inI, (#7:Msg ; n(b, #8:Fresh)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh))), +(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh)), -(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh)), +(#6:Msg ; #7:Msg ; n(b, #8:Fresh)), -(#6:Msg ; #7:Msg ; n(b, #8:Fresh)), +(#7:Msg ; n(b, #8:Fresh)), -(#7:Msg ; n(b, #8:Fresh)), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #8:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 7 . 5 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), +(#5:Msg ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), +(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)) !inI, (#4:Msg ; #5:Msg ; n(b, #6:Fresh)) !inI, (#5:Msg ; n(b, #6:Fresh)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), +(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), -(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), +(#5:Msg ; n(b, #6:Fresh)), -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 . 8 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; n(b, #5:Fresh)), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), +(#4:Msg ; n(b, #5:Fresh)), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)) !inI, (#4:Msg ; n(b, #5:Fresh)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)) ; #6:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh))), +(#4:Msg ; n(b, #5:Fresh)), -(#4:Msg ; n(b, #5:Fresh)), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 . 10 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #6:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, (#5:Msg ; n(b, #6:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #6:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 . 12 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, (#5:Msg ; n(b, #6:Fresh)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 . 8 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: #5:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #5:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, mkey(#1:Name, s) inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) inI || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #5:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 . 9 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) ; #6:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, mkey(#1:Name, s) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) ; #6:Msg) inI || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) ; #6:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #5:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 . 15 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#7:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #7:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), +(n(b, #6:Fresh)), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) !inI, mkey(#2:Name, s) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) inI || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #9:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #9:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#9:Sessionkey, n(b, #6:Fresh))) | -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#9:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#9:Sessionkey), +(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#9:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . 14 > ( :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#9:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #9:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: #8:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #8:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#12:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #12:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #8:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#12:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 9 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #8:Name ; n(#6:Name, #5:Fresh) ; #7:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #2:Sessionkey ; #9:Msg)), +(#9:Msg), -(e(#2:Sessionkey, n(b, #10:Fresh))), +(e(#2:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #3:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #10:Fresh))), -(e(#2:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#2:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, (#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #2:Sessionkey ; #9:Msg) inI, ((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg) inI || -((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #10:Fresh))), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #2:Sessionkey ; #9:Msg)), +(#9:Msg), -(e(#2:Sessionkey, n(b, #10:Fresh))), +(e(#2:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 10 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #8:Name ; n(#6:Name, #5:Fresh) ; #7:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #3:Sessionkey ; #9:Msg)), +(#9:Msg), -(e(#3:Sessionkey, n(b, #10:Fresh))), +(e(#3:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #4:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #10:Fresh))), -(e(#3:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#3:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #3:Sessionkey ; #9:Msg) inI, (#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #10:Fresh))), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #8:Name ; #3:Sessionkey ; #9:Msg)), +(#9:Msg), -(e(#3:Sessionkey, n(b, #10:Fresh))), +(e(#3:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 14 > ( :: nil :: [ nil | -(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a))), +(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), nil] & :: #6:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #14:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a) !inI, (#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)) !inI, (#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a))), +(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), -(#12:Msg ; #13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), -(#13:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #14:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 15 . 10 > ( :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#13:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #13:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 8 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#5:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg) inI || -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] , e(#5:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#5:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg) inI, -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil ) || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 14 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#5:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #13:Fresh))), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #5:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#5:Sessionkey, n(b, #13:Fresh))), +(e(#5:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 17 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #4:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#4:Sessionkey, n(b, #13:Fresh))), +(e(#4:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #5:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #13:Fresh))), -(e(#4:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#4:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #4:Sessionkey ; #12:Msg) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #13:Fresh))), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #4:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#4:Sessionkey, n(b, #13:Fresh))), +(e(#4:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 21 > ( :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg) | -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg) inI, e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 3 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(i), -(#5:Msg), +(i ; #2:Name ; n(i, #1:Fresh) ; #5:Msg) | -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#3:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, e(#0:Key, n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || -(#0:Key), -(e(#0:Key, n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(mkey(i, s)), -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(i), -(#5:Msg), +(i ; #2:Name ; n(i, #1:Fresh) ; #5:Msg) | -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] , mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#3:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, e(#0:Key, n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey), -(#0:Key), -(e(#0:Key, n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(mkey(i, s)), -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 5 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(i), -(#5:Msg), +(i ; #2:Name ; n(i, #1:Fresh) ; #5:Msg) | -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#3:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || -(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(mkey(i, s)), -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 7 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(i), -(#5:Msg), +(i ; #1:Name ; n(i, #0:Fresh) ; #5:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #6:Fresh))), +(e(#2:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #6:Fresh))), -(e(#2:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || mkey(i, s) !inI, e(#2:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#2:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, ((n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg) inI, inst(#2:Sessionkey) || -((n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(mkey(i, s)), -(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #6:Fresh))), -(e(#2:Sessionkey, n(b, #6:Fresh))), +(e(#2:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 8 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(#3:Sessionkey, n(b, #5:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 10 . 10 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#7:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #7:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#2:Name, s) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, inst(#5:Sessionkey) || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 10 . 11 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#4:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg) inI, inst(#4:Sessionkey) || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 10 . 15 > ( :: nil :: [ nil | -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 11 . 14 > ( :: nil :: [ nil | -(#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#5:Name, #4:Fresh)), +(n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil, +(#5:Name), -(#6:Msg), +(#5:Name ; #1:Name ; n(#5:Name, #4:Fresh) ; #6:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #7:Fresh))), +(e(#2:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #7:Fresh))), -(e(#2:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#2:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, n(#5:Name, #4:Fresh) inI, mkey(#5:Name, s) inI, (#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) inI, inst(#2:Sessionkey) || -(#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#5:Name, #4:Fresh)), +(n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), -(e(mkey(#5:Name, s), n(#5:Name, #4:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #7:Fresh))), -(e(#2:Sessionkey, n(b, #7:Fresh))), +(e(#2:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 11 . 20 > ( :: nil :: [ nil | -(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, n(#1:Name, #0:Fresh) inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . 12 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#11:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #11:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#9:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #9:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(#7:Sessionkey, n(b, #10:Fresh))), +(e(#7:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #8:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #10:Fresh))), -(e(#7:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#7:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI, inst(#7:Sessionkey) || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #10:Fresh))), -(e(#7:Sessionkey, n(b, #10:Fresh))), +(e(#7:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 2 . 1 > ( :: #0:Fresh :: [ nil | +(a), -(e(mkey(b, s), a ; n(b, #1:Fresh))), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), nil] & :: #3:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, e(mkey(b, s), a ; n(b, #1:Fresh)) inI, inst(#2:Name) || +(a), -(e(mkey(b, s), a ; n(b, #1:Fresh))), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 2 . 2 > ( :: #0:Fresh :: [ nil, +(a) | -(e(mkey(b, s), a ; n(b, #1:Fresh))), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), nil] & :: #3:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), nil] & :: #1:Fresh,#4:Fresh :: [ nil | -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)) !inI, e(mkey(b, s), a ; n(b, #1:Fresh)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, inst(#2:Name) || -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))), -(e(mkey(b, s), a ; n(b, #1:Fresh))), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #4:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #4:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 5 > ( :: nil :: [ nil | -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(b), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: #0:Fresh :: [ nil, +(a), -(#2:Msg), +(a ; b ; n(a, #0:Fresh) ; #2:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))), nil] & :: #4:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a) !inI, e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, (b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, (n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) inI, inst(#3:Name) || -(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(b), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#3:Name, #4:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#3:Name, #4:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))), -(e(seskey(a, b, n(#3:Name, #4:Fresh)), dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 6 > ( :: nil :: [ nil | -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: nil :: [ nil | -((b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) ; #2:Msg), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: #0:Fresh :: [ nil, +(a), -(#3:Msg), +(a ; b ; n(a, #0:Fresh) ; #3:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] & :: #5:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), nil] & :: #1:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh))) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, (b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, ((b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) ; #2:Msg) inI, inst(#4:Name) || -((b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) ; #2:Msg), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 7 > ( :: nil :: [ nil | -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: #0:Fresh :: [ nil, +(a), -(#1:Msg), +(a ; b ; n(a, #0:Fresh) ; #1:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] & :: #3:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh)))), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, (b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) inI, inst(#2:Name) || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh)))), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 8 > ( :: nil :: [ nil | -(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a), +(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: #1:Fresh :: [ nil, +(a), -(#3:Msg), +(a ; b ; n(a, #1:Fresh) ; #3:Msg) | -(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] & :: #5:Fresh :: [ nil | -(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] ) || e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh))) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh)) !inI, (a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, (b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, (#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) inI, inst(#4:Name) || -(#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a), +(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), -(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 3 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#3:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) inI || +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 10 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#4:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 11 > ( :: nil :: [ nil | -(#2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#4:Name, #5:Fresh)), +(n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#6:Msg), +(#4:Name ; #0:Name ; n(#4:Name, #5:Fresh) ; #6:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a))), +(#2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(#1:Sessionkey, n(b, #7:Fresh))), +(e(#1:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #7:Fresh))), -(e(#1:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#1:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, n(#4:Name, #5:Fresh) inI, mkey(#4:Name, s) inI, (#0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)) inI || -(#0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#4:Name, #5:Fresh)), +(n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a))), +(#2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(#2:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #7:Fresh))), -(e(#1:Sessionkey, n(b, #7:Fresh))), +(e(#1:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 12 > ( :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#3:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 14 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 1 . 6 > ( :: nil :: [ nil | -(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#3:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 1 > ( :: nil :: [ nil | -(#5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(#7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #9:Fresh))), +(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #8:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #9:Fresh))), -(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#4:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a) !inI, (#5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), -(#5:Msg ; #6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), -(#6:Msg ; #7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(#7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), -(#7:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #9:Fresh))), -(e(#4:Sessionkey, n(b, #9:Fresh))), +(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 4 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg) | -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg) | -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil ) || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 7 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #3:Sessionkey ; #10:Msg)), +(#10:Msg) | -(e(#3:Sessionkey, n(b, #11:Fresh))), +(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #4:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #11:Fresh))), -(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#3:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, ((#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg) inI || -((#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #11:Fresh))), -(e(#3:Sessionkey, n(b, #11:Fresh))), +(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 8 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg) | -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 9 > ( :: nil :: [ nil | -(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: nil :: [ nil | -(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg) | -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a))), +(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: #6:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #15:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a) !inI, (#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) !inI, (#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) !inI, (#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a))), +(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 9 . 8 > ( :: nil :: [ nil | -(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#14:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #14:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#6:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 4 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#6:Sessionkey, n(b, #12:Fresh))), +(e(#6:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #7:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #12:Fresh))), -(e(#6:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#6:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #12:Fresh))), -(e(#6:Sessionkey, n(b, #12:Fresh))), +(e(#6:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 13 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg)), +(#13:Msg) | -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #7:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#6:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 15 > ( :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg)), +(#13:Msg) | -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #6:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#5:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 17 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #14:Fresh :: [ nil, +(#15:Name), -(#16:Msg), +(#15:Name ; #17:Name ; n(#15:Name, #14:Fresh) ; #16:Msg) | -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#6:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . 12 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #11:Fresh))), +(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#9:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #9:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #8:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #11:Fresh))), -(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#3:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)) inI, inst(#7:Sessionkey) || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #11:Fresh))), -(e(#3:Sessionkey, n(b, #11:Fresh))), +(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 1 > ( :: nil :: [ nil | -(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, inst(#1:Name), inst(#3:Name), inst(#4:Sessionkey), inst(#5:Sessionkey) || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#11:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 13 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#8:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #8:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg)), +(#13:Msg) | -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #7:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#6:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#2:Name, s) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 14 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg)), +(#13:Msg) | -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #6:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#5:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg) inI || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 18 > ( :: nil :: [ nil | -(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg) | -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg) | -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . 15 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#17:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #17:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg), -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #8:Sessionkey ; #15:Msg)), +(#15:Msg) | -(e(#8:Sessionkey, n(b, #16:Fresh))), +(e(#8:Sessionkey, dec(n(b, #16:Fresh)))), nil] & :: #9:Fresh,#16:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #16:Fresh))), -(e(#8:Sessionkey, dec(n(b, #16:Fresh)))), nil] ) || e(#8:Sessionkey, dec(n(b, #16:Fresh))) !inI, e(#8:Sessionkey, n(b, #16:Fresh)) !inI, e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #16:Fresh))), -(e(#8:Sessionkey, n(b, #16:Fresh))), +(e(#8:Sessionkey, dec(n(b, #16:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #16:Fresh)))) || nil || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 9 . 0 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(seskey(a, b, n(#2:Name, #3:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: #0:Fresh :: [ nil, +(a), -(#1:Msg), +(a ; b ; n(a, #0:Fresh) ; #1:Msg), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)) | nil] & :: #3:Fresh :: [ nil, -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))) | nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))) | -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh)) inI, seskey(a, b, n(#2:Name, #3:Fresh)) inI || resuscitated(seskey(a, b, n(#2:Name, #3:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))) || nil || nil) < 1 . 2 . 3 . 4 . 3 . 8 . 0 . 4 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(mkey(i, s)), -(e(mkey(i, s), n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i))), +(n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i)), nil] & :: nil :: [ nil | -(n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i)), +(n(b, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(i ; #1:Name ; n(b, #2:Fresh) ; e(mkey(#1:Name, s), i ; #3:Nonce)), +(e(mkey(i, s), n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i))) | nil] & :: #2:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #2:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] ) || dec(n(b, #2:Fresh)) !inI, n(b, #2:Fresh) !inI, mkey(i, s) !inI, e(#6:Sessionkey, dec(n(b, #2:Fresh))) !inI, (n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i)) !inI, e(mkey(i, s), n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i)) inI || +(mkey(i, s)), resuscitated(mkey(i, s)), -(mkey(i, s)), -(e(mkey(i, s), n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i))), +(n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i)), -(n(b, #2:Fresh) ; #1:Name ; seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; e(mkey(#1:Name, s), seskey(i, #1:Name, n(#4:Name, #0:Fresh)) ; #3:Nonce ; i)), +(n(b, #2:Fresh)), -(n(b, #2:Fresh)), +(dec(n(b, #2:Fresh))), -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))) || ghost( #6:Sessionkey, :: nil :: [ nil | -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #6:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #2:Fresh))) | -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil] , e(#6:Sessionkey, dec(n(b, #2:Fresh))) !inI, dec(n(b, #2:Fresh)) inI, -(dec(n(b, #2:Fresh))), -(#6:Sessionkey), +(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #2:Fresh)))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(7) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< 1 . 2 . 3 . 2 . 1 . 6 . 6 . 3 > ( :: nil :: [ nil | -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #5:Fresh))), -(e(#2:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#2:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(#2:Sessionkey, n(b, #5:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, (#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, ((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg) inI || -((#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#0:Msg ; #1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #5:Fresh))), -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #2:Sessionkey, :: nil :: [ nil | -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: #3:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #5:Fresh))) | -(e(#2:Sessionkey, dec(n(b, #5:Fresh)))), nil] , dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#2:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(#2:Sessionkey, n(b, #5:Fresh)) inI, -(#2:Sessionkey), -(e(#2:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#2:Sessionkey), +(e(#2:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 6 . 6 . 6 > ( :: nil :: [ nil | -(#3:Sessionkey), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#3:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(#3:Sessionkey, n(b, #5:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(#3:Sessionkey), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #3:Sessionkey, :: nil :: [ nil | -(#3:Sessionkey), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))) | -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] , dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#3:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(#3:Sessionkey, n(b, #5:Fresh)) inI, -(#3:Sessionkey), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#3:Sessionkey), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 6 . 6 . 7 > ( :: nil :: [ nil | -(#7:Sessionkey), -(e(#7:Sessionkey, n(b, #9:Fresh))), +(n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #8:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #9:Fresh))), -(e(#7:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || dec(n(b, #9:Fresh)) !inI, n(b, #9:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#7:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #9:Fresh))), -(#7:Sessionkey), -(e(#7:Sessionkey, n(b, #9:Fresh))), +(n(b, #9:Fresh)), -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), -(dec(n(b, #9:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #9:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(#7:Sessionkey), -(e(#7:Sessionkey, n(b, #9:Fresh))), +(n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), nil] & :: #8:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #9:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #9:Fresh)))), nil] , dec(n(b, #9:Fresh)) !inI, n(b, #9:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#7:Sessionkey, n(b, #9:Fresh)) inI, -(#7:Sessionkey), -(e(#7:Sessionkey, n(b, #9:Fresh))), +(n(b, #9:Fresh)), -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), -(dec(n(b, #9:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #9:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 6 . 7 . 3 > ( :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] , dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) inI, -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 3 . 6 > ( :: nil :: [ nil | -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#7:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #7:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#4:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #4:Sessionkey, :: nil :: [ nil | -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: #5:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))) | -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] , dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#4:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#4:Sessionkey, n(b, #8:Fresh)) inI, -(#4:Sessionkey), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#4:Sessionkey), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 3 . 7 > ( :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] , dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, -(#0:Key), -(e(#0:Key, n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil ), ghost( #5:Sessionkey, :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] , dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) inI, -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 3 . 9 > ( :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#7:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #7:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))), -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: #6:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #8:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil] , dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#5:Sessionkey, n(b, #8:Fresh)) inI, -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 3 . 11 > ( :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(n(b, #12:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #12:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #12:Fresh)), +(dec(n(b, #12:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || dec(n(b, #12:Fresh)) !inI, n(b, #12:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(n(b, #12:Fresh)), -(n(b, #12:Fresh)), +(dec(n(b, #12:Fresh))), -(dec(n(b, #12:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || ghost( #5:Sessionkey, :: nil :: [ nil | -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(n(b, #12:Fresh)), nil] & :: nil :: [ nil | -(dec(n(b, #12:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #12:Fresh)), +(dec(n(b, #12:Fresh))), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))) | -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] , dec(n(b, #12:Fresh)) !inI, n(b, #12:Fresh) !inI, e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) inI, -(#5:Sessionkey), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(n(b, #12:Fresh)), -(n(b, #12:Fresh)), +(dec(n(b, #12:Fresh))), -(dec(n(b, #12:Fresh))), -(#5:Sessionkey), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 2 . 5 . 4 > ( :: nil :: [ nil | -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)) ; #5:Msg), +(#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #3:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #3:Fresh))) !inI, e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)) !inI, (#2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (n(b, #3:Fresh) ; #4:Msg) !inI, ((#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)) ; #5:Msg) inI || -((#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)) ; #5:Msg), +(#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), -(#0:Msg ; e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #1:Key, :: nil :: [ nil | -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #3:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] , dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #3:Fresh))) !inI, (#2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (n(b, #3:Fresh) ; #4:Msg) !inI, e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg) inI, -(#1:Key), -(e(#1:Key, #2:Msg ; n(b, #3:Fresh) ; #4:Msg)), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil ), ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #3:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #3:Fresh))) !inI, dec(n(b, #3:Fresh)) inI, -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 2 . 5 . 6 > ( :: nil :: [ nil | -(#2:Key), -(e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(#1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), nil] & :: nil :: [ nil | -(#1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), nil] & :: nil :: [ nil | -(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg) !inI, (#1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)) !inI, (#3:Msg ; n(b, #4:Fresh) ; #5:Msg) !inI, (n(b, #4:Fresh) ; #5:Msg) !inI, (#0:Msg ; #1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)) inI || -(#0:Msg ; #1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(#1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), -(#1:Msg ; e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), -(#2:Key), -(e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), -(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh) ; #5:Msg), -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #2:Key, :: nil :: [ nil | -(#2:Key), -(e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] , dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, (#3:Msg ; n(b, #4:Fresh) ; #5:Msg) !inI, (n(b, #4:Fresh) ; #5:Msg) !inI, e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg) inI, -(#2:Key), -(e(#2:Key, #3:Msg ; n(b, #4:Fresh) ; #5:Msg)), +(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), -(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh) ; #5:Msg), -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil ), ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 2 . 5 . 7 > ( :: nil :: [ nil | -(#6:Key), -(e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), nil] & :: nil :: [ nil | -(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh) ; #9:Msg), nil] & :: nil :: [ nil | -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg))), +(#5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), nil] & :: #8:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #10:Fresh))), -(e(mkey(b, s), #11:Sessionkey ; n(b, #10:Fresh) ; a)), +(e(#11:Sessionkey, n(b, #8:Fresh))) | -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#11:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg) !inI, (#5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)) !inI, (#7:Msg ; n(b, #8:Fresh) ; #9:Msg) !inI, (n(b, #8:Fresh) ; #9:Msg) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg))), +(#5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), -(#5:Msg ; e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), -(#6:Key), -(e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), -(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh) ; #9:Msg), -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #6:Key, :: nil :: [ nil | -(#6:Key), -(e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh) ; #9:Msg), nil] & :: nil :: [ nil | -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), nil] & :: #8:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #10:Fresh))), -(e(mkey(b, s), #11:Sessionkey ; n(b, #10:Fresh) ; a)), +(e(#11:Sessionkey, n(b, #8:Fresh))) | -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] , dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#11:Sessionkey, dec(n(b, #8:Fresh))) !inI, (#7:Msg ; n(b, #8:Fresh) ; #9:Msg) !inI, (n(b, #8:Fresh) ; #9:Msg) !inI, e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg) inI, -(#6:Key), -(e(#6:Key, #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), -(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh) ; #9:Msg), -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil ), ghost( #11:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #10:Fresh))), -(e(mkey(b, s), #11:Sessionkey ; n(b, #10:Fresh) ; a)), +(e(#11:Sessionkey, n(b, #8:Fresh))) | -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#11:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 2 . 7 . 4 > ( :: nil :: [ nil | -(#4:Key), -(e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg))), +(e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)) !inI, (#5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (n(b, #6:Fresh) ; #7:Msg) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg))), +(e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), -(#4:Key), -(e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #4:Key, :: nil :: [ nil | -(#4:Key), -(e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, (#5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (n(b, #6:Fresh) ; #7:Msg) !inI, e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg) inI, -(#4:Key), -(e(#4:Key, #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ), ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 . 7 . 5 > ( :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), nil] & :: nil :: [ nil | -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #3:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] ) || dec(n(b, #3:Fresh)) !inI, n(b, #3:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #3:Fresh))) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (#2:Msg ; n(b, #3:Fresh) ; #4:Msg) !inI, (n(b, #3:Fresh) ; #4:Msg) !inI, ((#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg) ; #5:Msg) inI || -((#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#0:Msg ; #1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#1:Msg ; #2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), -(#2:Msg ; n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh) ; #4:Msg), -(n(b, #3:Fresh) ; #4:Msg), +(n(b, #3:Fresh)), -(n(b, #3:Fresh)), +(dec(n(b, #3:Fresh))), -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #3:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #3:Fresh))) !inI, dec(n(b, #3:Fresh)) inI, -(dec(n(b, #3:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #3:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 . 7 . 7 > ( :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(#2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh) ; #5:Msg), nil] & :: nil :: [ nil | -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg) !inI, (#2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg) !inI, (#3:Msg ; n(b, #4:Fresh) ; #5:Msg) !inI, (n(b, #4:Fresh) ; #5:Msg) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), -(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(#2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), -(#2:Msg ; #3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), -(#3:Msg ; n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh) ; #5:Msg), -(n(b, #4:Fresh) ; #5:Msg), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 . 7 . 8 > ( :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(#6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), nil] & :: nil :: [ nil | -(#6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), nil] & :: nil :: [ nil | -(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh) ; #9:Msg), nil] & :: nil :: [ nil | -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), nil] & :: #8:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #10:Fresh))), -(e(mkey(b, s), #11:Sessionkey ; n(b, #10:Fresh) ; a)), +(e(#11:Sessionkey, n(b, #8:Fresh))) | -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#11:Sessionkey, dec(n(b, #8:Fresh))) !inI, (#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg) !inI, (#6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg) !inI, (#7:Msg ; n(b, #8:Fresh) ; #9:Msg) !inI, (n(b, #8:Fresh) ; #9:Msg) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg)), +(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), -(#5:Msg ; #6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(#6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), -(#6:Msg ; #7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), -(#7:Msg ; n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh) ; #9:Msg), -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #11:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #10:Fresh))), -(e(mkey(b, s), #11:Sessionkey ; n(b, #10:Fresh) ; a)), +(e(#11:Sessionkey, n(b, #8:Fresh))) | -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#11:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#11:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 6 . 8 . 4 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (#4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (#5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (n(b, #6:Fresh) ; #7:Msg) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(#4:Msg ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 7 . 5 . 8 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh) ; #6:Msg), nil] & :: nil :: [ nil | -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), +(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), nil] & :: #5:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #5:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg) !inI, (#4:Msg ; n(b, #5:Fresh) ; #6:Msg) !inI, (n(b, #5:Fresh) ; #6:Msg) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg) ; #7:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(b, #5:Fresh) ; #6:Msg)), +(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), -(#4:Msg ; n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh) ; #6:Msg), -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #5:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 7 . 5 . 10 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (#5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (n(b, #6:Fresh) ; #7:Msg) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 6 . 7 . 5 . 12 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #6:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#14:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (#5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, (n(b, #6:Fresh) ; #7:Msg) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg) inI || -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh) ; #7:Msg)), +(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), -(#5:Msg ; n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh) ; #7:Msg), -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #14:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #6:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#14:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 . 10 . 13 > ( :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#11:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #11:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), +(n(b, #8:Fresh) ; #9:Msg), nil] & :: #8:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #8:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg) !inI, (n(b, #8:Fresh) ; #9:Msg) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh) ; #9:Msg)), +(n(b, #8:Fresh) ; #9:Msg), -(n(b, #8:Fresh) ; #9:Msg), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #8:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 . 12 . 8 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), nil] & :: nil :: [ nil | -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), nil] & :: #5:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #5:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, (n(b, #5:Fresh) ; #6:Msg) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, mkey(#1:Name, s) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) ; #7:Msg) inI || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #5:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 . 12 . 10 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), nil] & :: nil :: [ nil | -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), nil] & :: #5:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #5:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#14:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, (#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, (n(b, #5:Fresh) ; #6:Msg) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh) ; #6:Msg)), +(n(b, #5:Fresh) ; #6:Msg), -(n(b, #5:Fresh) ; #6:Msg), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #14:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #5:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#14:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 4 . 7 . 4 . 12 . 12 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg)), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#8:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #8:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg)), +(n(b, #6:Fresh) ; #7:Msg), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg) !inI, (n(b, #6:Fresh) ; #7:Msg) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg) !inI, mkey(#2:Name, s) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg) inI || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg)), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh) ; #7:Msg)), +(n(b, #6:Fresh) ; #7:Msg), -(n(b, #6:Fresh) ; #7:Msg), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 . 7 . 5 > ( :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#3:Msg ; n(b, #4:Fresh)), nil] & :: nil :: [ nil | -(#3:Msg ; n(b, #4:Fresh)), +(n(b, #4:Fresh)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] ) || dec(n(b, #4:Fresh)) !inI, n(b, #4:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)) !inI, (#2:Msg ; #3:Msg ; n(b, #4:Fresh)) !inI, (#3:Msg ; n(b, #4:Fresh)) !inI, ((#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)) ; #5:Msg) inI || -((#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), -(#1:Msg ; #2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), -(#2:Msg ; #3:Msg ; n(b, #4:Fresh)), +(#3:Msg ; n(b, #4:Fresh)), -(#3:Msg ; n(b, #4:Fresh)), +(n(b, #4:Fresh)), -(n(b, #4:Fresh)), +(dec(n(b, #4:Fresh))), -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] & :: #4:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #4:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #4:Fresh))) !inI, dec(n(b, #4:Fresh)) inI, -(dec(n(b, #4:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #4:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 . 7 . 7 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#3:Msg ; #4:Msg ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(#3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#4:Msg ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(#4:Msg ; n(b, #5:Fresh)), +(n(b, #5:Fresh)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #5:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#7:Sessionkey, dec(n(b, #5:Fresh))) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)) !inI, (#2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)) !inI, (#3:Msg ; #4:Msg ; n(b, #5:Fresh)) !inI, (#4:Msg ; n(b, #5:Fresh)) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), -(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), -(#2:Msg ; #3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#3:Msg ; #4:Msg ; n(b, #5:Fresh)), -(#3:Msg ; #4:Msg ; n(b, #5:Fresh)), +(#4:Msg ; n(b, #5:Fresh)), -(#4:Msg ; n(b, #5:Fresh)), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #7:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))), -(e(mkey(b, s), #7:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #5:Fresh))) | -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#7:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#7:Sessionkey), +(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 . 7 . 8 > ( :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), +(#6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(#6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), +(#7:Msg ; #8:Msg ; n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(#7:Msg ; #8:Msg ; n(b, #9:Fresh)), +(#8:Msg ; n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(#8:Msg ; n(b, #9:Fresh)), +(n(b, #9:Fresh)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh))), +(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), nil] & :: #10:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #10:Fresh))), -(e(mkey(b, s), #11:Sessionkey ; n(b, #10:Fresh) ; a)), +(e(#11:Sessionkey, n(b, #9:Fresh))) | -(e(#11:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || dec(n(b, #9:Fresh)) !inI, n(b, #9:Fresh) !inI, e(#11:Sessionkey, dec(n(b, #9:Fresh))) !inI, (#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)) !inI, (#6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)) !inI, (#7:Msg ; #8:Msg ; n(b, #9:Fresh)) !inI, (#8:Msg ; n(b, #9:Fresh)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)) inI || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh))), +(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), -(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), +(#6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), -(#6:Msg ; #7:Msg ; #8:Msg ; n(b, #9:Fresh)), +(#7:Msg ; #8:Msg ; n(b, #9:Fresh)), -(#7:Msg ; #8:Msg ; n(b, #9:Fresh)), +(#8:Msg ; n(b, #9:Fresh)), -(#8:Msg ; n(b, #9:Fresh)), +(n(b, #9:Fresh)), -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), -(dec(n(b, #9:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#11:Sessionkey, dec(n(b, #9:Fresh)))) || ghost( #11:Sessionkey, :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #10:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #10:Fresh))), -(e(mkey(b, s), #11:Sessionkey ; n(b, #10:Fresh) ; a)), +(e(#11:Sessionkey, n(b, #9:Fresh))) | -(e(#11:Sessionkey, dec(n(b, #9:Fresh)))), nil] , e(#11:Sessionkey, dec(n(b, #9:Fresh))) !inI, dec(n(b, #9:Fresh)) inI, -(dec(n(b, #9:Fresh))), -(#11:Sessionkey), +(e(#11:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#11:Sessionkey, dec(n(b, #9:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 6 . 8 . 4 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#6:Msg ; n(b, #7:Fresh)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(#4:Msg ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 7 . 5 . 8 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), +(#5:Msg ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), +(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)) !inI, (#4:Msg ; #5:Msg ; n(b, #6:Fresh)) !inI, (#5:Msg ; n(b, #6:Fresh)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)) ; #7:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; n(b, #6:Fresh))), +(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), -(#4:Msg ; #5:Msg ; n(b, #6:Fresh)), +(#5:Msg ; n(b, #6:Fresh)), -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 7 . 5 . 10 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#6:Msg ; n(b, #7:Fresh)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 6 . 7 . 5 . 12 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #7:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#14:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, (#6:Msg ; n(b, #7:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)) inI || -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; n(b, #7:Fresh))), +(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), -(#5:Msg ; #6:Msg ; n(b, #7:Fresh)), +(#6:Msg ; n(b, #7:Fresh)), -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #14:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #7:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#14:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 . 10 . 15 > ( :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(#8:Msg ; n(b, #9:Fresh)), +(n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#11:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #11:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), +(#8:Msg ; n(b, #9:Fresh)), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #9:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || dec(n(b, #9:Fresh)) !inI, n(b, #9:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)) !inI, (#8:Msg ; n(b, #9:Fresh)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; n(b, #9:Fresh))), +(#8:Msg ; n(b, #9:Fresh)), -(#8:Msg ; n(b, #9:Fresh)), +(n(b, #9:Fresh)), -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #9:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #9:Fresh))) !inI, dec(n(b, #9:Fresh)) inI, -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 . 12 . 8 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, (#5:Msg ; n(b, #6:Fresh)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, mkey(#1:Name, s) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) ; #7:Msg) inI || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 . 12 . 10 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #6:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#14:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, (#5:Msg ; n(b, #6:Fresh)) !inI, (#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; n(b, #6:Fresh))), +(#5:Msg ; n(b, #6:Fresh)), -(#5:Msg ; n(b, #6:Fresh)), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #14:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #6:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#14:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 6 . 7 . 4 . 12 . 12 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh))), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#8:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #8:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh))), +(#6:Msg ; n(b, #7:Fresh)), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)) !inI, (#6:Msg ; n(b, #7:Fresh)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)) !inI, mkey(#2:Name, s) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)) inI || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; n(b, #7:Fresh))), +(#6:Msg ; n(b, #7:Fresh)), -(#6:Msg ; n(b, #7:Fresh)), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 . 8 . 15 > ( :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#11:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #11:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#10:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #6:Fresh) ; #10:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(b, #9:Fresh)), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #9:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || dec(n(b, #9:Fresh)) !inI, n(b, #9:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, (#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, (n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, mkey(#0:Name, s) inI, mkey(#5:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(b, #9:Fresh)), -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #9:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #9:Fresh))) !inI, dec(n(b, #9:Fresh)) inI, -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 . 15 . 9 > ( :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(#11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), nil] & :: #5:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #5:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || dec(n(b, #5:Fresh)) !inI, n(b, #5:Fresh) !inI, e(#14:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (#11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) !inI, mkey(#1:Name, s) inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)) inI || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(#11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(#11:Msg ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(b, #5:Fresh))), +(n(b, #5:Fresh)), -(n(b, #5:Fresh)), +(dec(n(b, #5:Fresh))), -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))) || ghost( #14:Sessionkey, :: nil :: [ nil | -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #5:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #13:Fresh))), -(e(mkey(b, s), #14:Sessionkey ; n(b, #13:Fresh) ; a)), +(e(#14:Sessionkey, n(b, #5:Fresh))) | -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil] , e(#14:Sessionkey, dec(n(b, #5:Fresh))) !inI, dec(n(b, #5:Fresh)) inI, -(dec(n(b, #5:Fresh))), -(#14:Sessionkey), +(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#14:Sessionkey, dec(n(b, #5:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 . 15 . 15 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) ; #7:Msg), +(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#8:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #8:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), +(n(b, #6:Fresh)), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) !inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) !inI, mkey(#2:Name, s) inI, ((#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) ; #7:Msg) inI || -((#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)) ; #7:Msg), +(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; n(b, #6:Fresh))), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #6:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 10 . 15 . 17 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), +(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), +(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), nil] & :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#8:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #8:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(b, #7:Fresh)), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, (#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, (#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, mkey(#3:Name, s) inI, (#0:Msg ; #1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), +(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), +(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . (14 {1}) . 4 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), nil] & :: #4:Fresh :: [ nil, +(i), -(#8:Msg), +(i ; #5:Name ; n(i, #4:Fresh) ; #8:Msg) | -(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(b, #7:Fresh)), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, mkey(i, s) !inI, e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, (n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) inI || +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), -(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #10:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))), -(e(mkey(b, s), #10:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#10:Sessionkey, n(b, #7:Fresh))) | -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#10:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#10:Sessionkey), +(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#10:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . (14 {1}) . 9 > ( :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) ; #8:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#9:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #9:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), nil] & :: #4:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #5:Name ; n(#0:Name, #4:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(b, #7:Fresh)), nil] & :: #7:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #7:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || dec(n(b, #7:Fresh)) !inI, n(b, #7:Fresh) !inI, e(#12:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, (n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) ; #8:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)) ; #8:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(b, #7:Fresh))), +(n(b, #7:Fresh)), -(n(b, #7:Fresh)), +(dec(n(b, #7:Fresh))), -(dec(n(b, #7:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #7:Fresh)))) || ghost( #12:Sessionkey, :: nil :: [ nil | -(dec(n(b, #7:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #7:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #7:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #7:Fresh)))), nil] , e(#12:Sessionkey, dec(n(b, #7:Fresh))) !inI, dec(n(b, #7:Fresh)) inI, -(dec(n(b, #7:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #7:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . (14 {1}) . 11 > ( :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#9:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #9:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), nil] & :: #5:Fresh :: [ nil, +(#1:Name), -(#10:Msg), +(#1:Name ; #6:Name ; n(#1:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: #8:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #8:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#12:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, (n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #12:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #11:Fresh))), -(e(mkey(b, s), #12:Sessionkey ; n(b, #11:Fresh) ; a)), +(e(#12:Sessionkey, n(b, #8:Fresh))) | -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#12:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#12:Sessionkey), +(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#12:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . (14 {1}) . 13 > ( :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#16:Sessionkey), +(e(#16:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), nil] & :: #5:Fresh :: [ nil, +(#1:Name), -(#9:Msg), +(#1:Name ; #6:Name ; n(#1:Name, #5:Fresh) ; #9:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: #10:Fresh :: [ nil, +(#11:Name), -(#12:Msg), +(#11:Name ; #13:Name ; n(#11:Name, #10:Fresh) ; #12:Msg) | -(e(mkey(#11:Name, s), n(#11:Name, #10:Fresh) ; #13:Name ; #14:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), nil] & :: #8:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #15:Fresh))), -(e(mkey(b, s), #16:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(#16:Sessionkey, n(b, #8:Fresh))) | -(e(#16:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#16:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, (n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, mkey(#1:Name, s) inI, e(mkey(#11:Name, s), n(#11:Name, #10:Fresh) ; #13:Name ; #14:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) inI || -(e(mkey(#11:Name, s), n(#11:Name, #10:Fresh) ; #13:Name ; #14:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#16:Sessionkey), +(e(#16:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#16:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #16:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#16:Sessionkey), +(e(#16:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #15:Fresh))), -(e(mkey(b, s), #16:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(#16:Sessionkey, n(b, #8:Fresh))) | -(e(#16:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#16:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#16:Sessionkey), +(e(#16:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#16:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . (14 {2}) . 12 > ( :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) ; #9:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), nil] & :: #8:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #8:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || dec(n(b, #8:Fresh)) !inI, n(b, #8:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) ; #9:Msg) inI, mkey(#0:Name, s) != mkey(#4:Name, s) || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)) ; #9:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(b, #8:Fresh))), +(n(b, #8:Fresh)), -(n(b, #8:Fresh)), +(dec(n(b, #8:Fresh))), -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #8:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #8:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #8:Fresh))) !inI, dec(n(b, #8:Fresh)) inI, -(dec(n(b, #8:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . (14 {2}) . 20 > ( :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#10:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #10:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#11:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #6:Fresh) ; #11:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(b, #9:Fresh)), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #9:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || dec(n(b, #9:Fresh)) !inI, n(b, #9:Fresh) !inI, e(#13:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, (n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, mkey(#1:Name, s) inI, mkey(#5:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) inI, mkey(#1:Name, s) != mkey(#5:Name, s) || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(b, #9:Fresh)), -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))) || ghost( #13:Sessionkey, :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #12:Fresh))), -(e(mkey(b, s), #13:Sessionkey ; n(b, #12:Fresh) ; a)), +(e(#13:Sessionkey, n(b, #9:Fresh))) | -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil] , e(#13:Sessionkey, dec(n(b, #9:Fresh))) !inI, dec(n(b, #9:Fresh)) inI, -(dec(n(b, #9:Fresh))), -(#13:Sessionkey), +(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#13:Sessionkey, dec(n(b, #9:Fresh)))), nil ) || nil) (< 1 . 2 . 3 . 7 . 4 . 12 . (14 {2}) . 23 > ( :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#17:Sessionkey), +(e(#17:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#10:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #6:Fresh) ; #10:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(b, #9:Fresh)), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg) | -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), nil] & :: #9:Fresh,#16:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #16:Fresh))), -(e(mkey(b, s), #17:Sessionkey ; n(b, #16:Fresh) ; a)), +(e(#17:Sessionkey, n(b, #9:Fresh))) | -(e(#17:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || dec(n(b, #9:Fresh)) !inI, n(b, #9:Fresh) !inI, e(#17:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, (n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) !inI, mkey(#1:Name, s) inI, mkey(#5:Name, s) inI, e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)) inI, mkey(#1:Name, s) != mkey(#5:Name, s) || -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; n(b, #9:Fresh))), +(n(b, #9:Fresh)), -(n(b, #9:Fresh)), +(dec(n(b, #9:Fresh))), -(dec(n(b, #9:Fresh))), -(#17:Sessionkey), +(e(#17:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#17:Sessionkey, dec(n(b, #9:Fresh)))) || ghost( #17:Sessionkey, :: nil :: [ nil | -(dec(n(b, #9:Fresh))), -(#17:Sessionkey), +(e(#17:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #9:Fresh,#16:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #16:Fresh))), -(e(mkey(b, s), #17:Sessionkey ; n(b, #16:Fresh) ; a)), +(e(#17:Sessionkey, n(b, #9:Fresh))) | -(e(#17:Sessionkey, dec(n(b, #9:Fresh)))), nil] , e(#17:Sessionkey, dec(n(b, #9:Fresh))) !inI, dec(n(b, #9:Fresh)) inI, -(dec(n(b, #9:Fresh))), -(#17:Sessionkey), +(e(#17:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#17:Sessionkey, dec(n(b, #9:Fresh)))), nil ) || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 10 . 5 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg) inI || -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] , e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg) inI, -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil ) || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 10 . 10 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #3:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#3:Sessionkey, n(b, #11:Fresh))), +(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #4:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #11:Fresh))), -(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#3:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #3:Sessionkey ; #10:Msg) inI, ((#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg) inI || -((#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#0:Msg ; #1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #11:Fresh))), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #3:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#3:Sessionkey, n(b, #11:Fresh))), +(e(#3:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 10 . 11 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #5:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#4:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg) inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #11:Fresh))), -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #4:Sessionkey ; #10:Msg)), +(#10:Msg), -(e(#4:Sessionkey, n(b, #11:Fresh))), +(e(#4:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 10 . 15 > ( :: nil :: [ nil | -(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: nil :: [ nil | -(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a))), +(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), nil] & :: #6:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #15:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a) !inI, (#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) !inI, (#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) !inI, (#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a))), +(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(#12:Msg ; #13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(#13:Msg ; #14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(#14:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #15:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 10 . 14 . 10 > ( :: nil :: [ nil | -(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#14:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #14:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#6:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 15 . 10 . 14 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg) | -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #7:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#6:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 15 . 10 . 16 > ( :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg) | -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #6:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#5:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 7 . 15 . 10 . 19 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #14:Fresh :: [ nil, +(#15:Name), -(#16:Msg), +(#15:Name ; #17:Name ; n(#15:Name, #14:Fresh) ; #16:Msg) | -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#6:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg) inI, e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg)), +(#12:Msg), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 14 . 14 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#8:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #8:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg) | -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #7:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#6:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#2:Name, s) inI, e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #14:Fresh))), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #6:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#6:Sessionkey, n(b, #14:Fresh))), +(e(#6:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 14 . 15 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg) | -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #6:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#5:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg) inI || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #14:Fresh))), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #5:Sessionkey ; #13:Msg)), +(#13:Msg), -(e(#5:Sessionkey, n(b, #14:Fresh))), +(e(#5:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 14 . 23 > ( :: nil :: [ nil | -(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg) | -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg) inI, e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#18:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 1 . 2 . 13 . 11 . 21 . 17 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#17:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #17:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg) | -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #8:Sessionkey ; #15:Msg)), +(#15:Msg), -(e(#8:Sessionkey, n(b, #16:Fresh))), +(e(#8:Sessionkey, dec(n(b, #16:Fresh)))), nil] & :: #9:Fresh,#16:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #16:Fresh))), -(e(#8:Sessionkey, dec(n(b, #16:Fresh)))), nil] ) || e(#8:Sessionkey, dec(n(b, #16:Fresh))) !inI, e(#8:Sessionkey, n(b, #16:Fresh)) !inI, e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #8:Sessionkey ; #15:Msg) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #16:Fresh))), -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #8:Sessionkey ; #15:Msg)), +(#15:Msg), -(e(#8:Sessionkey, n(b, #16:Fresh))), +(e(#8:Sessionkey, dec(n(b, #16:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #16:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 5 . 5 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(i), -(#6:Msg), +(i ; #3:Name ; n(i, #2:Fresh) ; #6:Msg) | -(e(mkey(i, s), n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || mkey(i, s) !inI, e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(i, s), n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(#0:Msg ; #1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(mkey(i, s)), -(n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(i, s), n(i, #2:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 5 . 6 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(i), -(#6:Msg), +(i ; #2:Name ; n(i, #1:Fresh) ; #6:Msg) | -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #4:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#3:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, ((#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg) inI, inst(#3:Sessionkey) || -((#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(mkey(i, s)), -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 5 . 8 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(#11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #5:Fresh))) !inI, e(#3:Sessionkey, n(b, #5:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(#11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#11:Msg ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #5:Fresh))), -(e(#3:Sessionkey, n(b, #5:Fresh))), +(e(#3:Sessionkey, dec(n(b, #5:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 3 . 8 . 8 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(i), -(#8:Msg), +(i ; #5:Name ; n(i, #4:Fresh) ; #8:Msg) | -(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#6:Sessionkey, n(b, #9:Fresh))), +(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #9:Fresh))), -(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || mkey(i, s) !inI, e(#6:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#6:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI, inst(#6:Sessionkey) || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(mkey(i, s)), -(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #9:Fresh))), -(e(#6:Sessionkey, n(b, #9:Fresh))), +(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 10 . 10 . 11 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#8:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #8:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#6:Sessionkey, n(b, #9:Fresh))), +(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #9:Fresh))), -(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#6:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, (#0:Msg ; #1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI, inst(#6:Sessionkey) || -(#0:Msg ; #1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#1:Msg ; #2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#2:Msg ; n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #9:Fresh))), -(e(#6:Sessionkey, n(b, #9:Fresh))), +(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 10 . 10 . 12 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#8:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #8:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#5:Sessionkey, n(b, #9:Fresh))), +(e(#5:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #9:Fresh))), -(e(#5:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#5:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#2:Name, s) inI, ((#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg) inI, inst(#5:Sessionkey) || -((#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #9:Fresh))), -(e(#5:Sessionkey, n(b, #9:Fresh))), +(e(#5:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 10 . 10 . 16 > ( :: nil :: [ nil | -(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#12:Msg ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 10 . 15 . 12 > ( :: nil :: [ nil | -(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#12:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #12:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#10:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #6:Fresh) ; #10:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(#8:Sessionkey, n(b, #11:Fresh))), +(e(#8:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #11:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #11:Fresh))), -(e(#8:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#8:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#8:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#5:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) inI, inst(#8:Sessionkey) || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #11:Fresh))), -(e(#8:Sessionkey, n(b, #11:Fresh))), +(e(#8:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 11 . 14 . 7 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #2:Name ; n(#6:Name, #5:Fresh) ; #7:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #4:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#3:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, n(#6:Name, #5:Fresh) inI, mkey(#6:Name, s) inI, e(#0:Key, #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #2:Name ; n(#6:Name, #5:Fresh) ; #7:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #4:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] , e(#3:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#3:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, n(#6:Name, #5:Fresh) inI, mkey(#6:Name, s) inI, e(#0:Key, #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey), -(#0:Key), -(e(#0:Key, #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil ) || nil) (< 1 . 7 . 3 . 2 . 6 . 11 . 14 . 14 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #2:Name ; n(#6:Name, #5:Fresh) ; #7:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #4:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#3:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, n(#6:Name, #5:Fresh) inI, mkey(#6:Name, s) inI, (#0:Msg ; #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)) inI, inst(#3:Sessionkey) || -(#0:Msg ; #1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#1:Msg ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #2:Name ; #3:Sessionkey ; e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #8:Fresh))), -(e(#3:Sessionkey, n(b, #8:Fresh))), +(e(#3:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 11 . 14 . 15 > ( :: nil :: [ nil | -(#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#6:Name), -(#7:Msg), +(#6:Name ; #1:Name ; n(#6:Name, #5:Fresh) ; #7:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #8:Fresh))), +(e(#2:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #3:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #8:Fresh))), -(e(#2:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#2:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a) !inI, e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, (n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) !inI, n(#6:Name, #5:Fresh) inI, mkey(#6:Name, s) inI, ((#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg) inI, inst(#2:Sessionkey) || -((#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)) ; #4:Msg), +(#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#0:Msg ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(#1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#6:Name, #5:Fresh)), +(n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), -(e(mkey(#6:Name, s), n(#6:Name, #5:Fresh) ; #1:Name ; #2:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #3:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #8:Fresh))), -(e(#2:Sessionkey, n(b, #8:Fresh))), +(e(#2:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 11 . 14 . 22 > ( :: nil :: [ nil | -(#12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, n(#1:Name, #0:Fresh) inI, mkey(#1:Name, s) inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(#12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#12:Msg ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 11 . 20 . 22 > ( :: nil :: [ nil | -(#4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#8:Name, #7:Fresh)), +(n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#11:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #11:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #4:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#5:Sessionkey, n(b, #10:Fresh))), +(e(#5:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #6:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #10:Fresh))), -(e(#5:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#5:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, n(#8:Name, #7:Fresh) inI, mkey(#0:Name, s) inI, mkey(#8:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI, inst(#5:Sessionkey) || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#8:Name, #7:Fresh)), +(n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #4:Name ; #5:Sessionkey ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a))), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #10:Fresh))), -(e(#5:Sessionkey, n(b, #10:Fresh))), +(e(#5:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . (12 {1}) . 4 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(i), -(#8:Msg), +(i ; #5:Name ; n(i, #4:Fresh) ; #8:Msg) | -(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#6:Sessionkey, n(b, #9:Fresh))), +(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #9:Fresh))), -(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || mkey(i, s) !inI, e(#6:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#6:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI, inst(#6:Sessionkey) || +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(i, s), n(i, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #9:Fresh))), -(e(#6:Sessionkey, n(b, #9:Fresh))), +(e(#6:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . (12 {1}) . 11 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#9:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #9:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#1:Name), -(#10:Msg), +(#1:Name ; #6:Name ; n(#1:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(#7:Sessionkey, n(b, #11:Fresh))), +(e(#7:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #8:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #11:Fresh))), -(e(#7:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#7:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI, inst(#7:Sessionkey) || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #11:Fresh))), -(e(#7:Sessionkey, n(b, #11:Fresh))), +(e(#7:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . (12 {1}) . 13 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#9:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #9:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #5:Name ; n(#0:Name, #4:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#6:Sessionkey, n(b, #11:Fresh))), +(e(#6:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #7:Fresh,#11:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #11:Fresh))), -(e(#6:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#6:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg) inI, inst(#6:Sessionkey) || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #11:Fresh))), -(e(#6:Sessionkey, n(b, #11:Fresh))), +(e(#6:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . (12 {1}) . 16 > ( :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#1:Name), -(#9:Msg), +(#1:Name ; #6:Name ; n(#1:Name, #5:Fresh) ; #9:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(#7:Sessionkey, n(b, #10:Fresh))), +(e(#7:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg) | -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #8:Fresh,#10:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #10:Fresh))), -(e(#7:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#7:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI, inst(#7:Sessionkey) || -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #10:Fresh))), -(e(#7:Sessionkey, n(b, #10:Fresh))), +(e(#7:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . (12 {2}) . 16 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#10:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #10:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#11:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #6:Fresh) ; #11:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(#8:Sessionkey, n(b, #12:Fresh))), +(e(#8:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #12:Fresh))), -(e(#8:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#8:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#8:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, mkey(#5:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) inI, inst(#8:Sessionkey), mkey(#1:Name, s) != mkey(#5:Name, s) || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #12:Fresh))), -(e(#8:Sessionkey, n(b, #12:Fresh))), +(e(#8:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . (12 {2}) . 18 > ( :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) ; #9:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(#7:Sessionkey, n(b, #12:Fresh))), +(e(#7:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #8:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #12:Fresh))), -(e(#7:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#7:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) ; #9:Msg) inI, inst(#7:Sessionkey), mkey(#0:Name, s) != mkey(#4:Name, s) || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) ; #9:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #12:Fresh))), -(e(#7:Sessionkey, n(b, #12:Fresh))), +(e(#7:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 6 . 15 . (12 {2}) . 23 > ( :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#10:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #6:Fresh) ; #10:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(#8:Sessionkey, n(b, #11:Fresh))), +(e(#8:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #12:Fresh :: [ nil, +(#13:Name), -(#14:Msg), +(#13:Name ; #15:Name ; n(#13:Name, #12:Fresh) ; #14:Msg) | -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #16:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #11:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #11:Fresh))), -(e(#8:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#8:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#8:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, mkey(#5:Name, s) inI, e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #16:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)) inI, inst(#8:Sessionkey), mkey(#1:Name, s) != mkey(#5:Name, s) || -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #16:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a))), +(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #8:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #11:Fresh))), -(e(#8:Sessionkey, n(b, #11:Fresh))), +(e(#8:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 2 . 1 . 1 > ( :: #3:Fresh :: [ nil | -(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), +(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil | +(a), -(e(mkey(b, s), a ; n(b, #0:Fresh))), +(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), -(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil | -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] ) || e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)) !inI, e(mkey(b, s), a ; n(b, #0:Fresh)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh)) !inI, (a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))) !inI, inst(#2:Name) || -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))), +(a), -(e(mkey(b, s), a ; n(b, #0:Fresh))), +(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), -(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), +(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), -(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 5 . 6 > ( :: nil :: [ nil | -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(b), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: nil :: [ nil | -((n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) ; #2:Msg), +(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), nil] & :: #0:Fresh :: [ nil, +(a), -(#3:Msg), +(a ; b ; n(a, #0:Fresh) ; #3:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] & :: #5:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), nil] & :: #1:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #1:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh))) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, (b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, (n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) !inI, ((n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) ; #2:Msg) inI, inst(#4:Name) || -((n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))) ; #2:Msg), +(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(b), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #1:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #1:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 5 . 7 > ( :: nil :: [ nil | -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(b), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: #0:Fresh :: [ nil, +(a), -(#1:Msg), +(a ; b ; n(a, #0:Fresh) ; #1:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] & :: #3:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh)))), +(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, (b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, (n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) inI, inst(#2:Name) || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh)))), +(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(b), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 5 . 8 > ( :: nil :: [ nil | -(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a), +(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(b), +(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: #1:Fresh :: [ nil, +(a), -(#3:Msg), +(a ; b ; n(a, #1:Fresh) ; #3:Msg) | -(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] & :: #5:Fresh :: [ nil | -(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), nil] ) || e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh))) !inI, e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh)) !inI, (a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, (b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, (n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, (#0:Msg ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) inI, inst(#4:Name) || -(#0:Msg ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(b), +(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a), +(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), -(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#4:Name, #5:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#4:Name, #5:Fresh)) ; n(b, #2:Fresh) ; a)), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), n(b, #6:Fresh))), +(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))), -(e(seskey(a, b, n(#4:Name, #5:Fresh)), dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 7 . 7 > ( :: nil :: [ nil | -(b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), -(a), +(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh)))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#10:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #10:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh)))), +(b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), nil] & :: #4:Fresh :: [ nil, +(a), -(#6:Msg), +(a ; b ; n(a, #4:Fresh) ; #6:Msg) | -(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#7:Name, #8:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a)), -(e(seskey(a, b, n(#7:Name, #8:Fresh)), n(b, #9:Fresh))), +(e(seskey(a, b, n(#7:Name, #8:Fresh)), dec(n(b, #9:Fresh)))), nil] & :: #8:Fresh :: [ nil | -(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), +(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#7:Name, #8:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a))), nil] & :: #5:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a)), +(e(seskey(a, b, n(#7:Name, #8:Fresh)), n(b, #9:Fresh))), -(e(seskey(a, b, n(#7:Name, #8:Fresh)), dec(n(b, #9:Fresh)))), nil] ) || e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#7:Name, #8:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#7:Name, #8:Fresh)), dec(n(b, #9:Fresh))) !inI, e(seskey(a, b, n(#7:Name, #8:Fresh)), n(b, #9:Fresh)) !inI, (a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))) !inI, (b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))) inI, inst(#7:Name) || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh)))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh)))), +(b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), -(b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), -(a), +(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), -(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #5:Fresh))), +(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#7:Name, #8:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a))), -(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#7:Name, #8:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#7:Name, #8:Fresh)) ; n(b, #5:Fresh) ; a)), +(e(seskey(a, b, n(#7:Name, #8:Fresh)), n(b, #9:Fresh))), -(e(seskey(a, b, n(#7:Name, #8:Fresh)), n(b, #9:Fresh))), +(e(seskey(a, b, n(#7:Name, #8:Fresh)), dec(n(b, #9:Fresh)))), -(e(seskey(a, b, n(#7:Name, #8:Fresh)), dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 8 . 8 > ( :: nil :: [ nil | -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: #0:Fresh :: [ nil, +(a), -(#1:Msg), +(a ; b ; n(a, #0:Fresh) ; #1:Msg) | -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] & :: #3:Fresh :: [ nil | -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), nil] & :: #6:Fresh :: [ nil, +(#7:Name), -(#8:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #6:Fresh) ; #8:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh)))), +(#11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), nil] ) || e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh)) !inI, (a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, (b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, (#11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) !inI, e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))) inI, inst(#2:Name) || -(e(mkey(#7:Name, s), n(#7:Name, #6:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh)))), +(#11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(#11:Msg ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a), +(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), -(a ; b ; n(a, #0:Fresh) ; e(mkey(b, s), a ; n(b, #4:Fresh))), +(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), -(e(mkey(a, s), n(a, #0:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #4:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #5:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #5:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 8 . 9 > ( :: nil :: [ nil | -(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a), +(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: nil :: [ nil | -((#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) ; #3:Msg), +(#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), nil] & :: #1:Fresh :: [ nil, +(a), -(#4:Msg), +(a ; b ; n(a, #1:Fresh) ; #4:Msg) | -(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a)), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))), nil] & :: #6:Fresh :: [ nil | -(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #2:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a)), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))), nil] ) || e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a) !inI, e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh))) !inI, e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh)) !inI, (a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, (b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, (#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) !inI, ((#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) ; #3:Msg) inI, inst(#5:Name) || -((#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))) ; #3:Msg), +(#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(#0:Msg ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a), +(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), -(a ; b ; n(a, #1:Fresh) ; e(mkey(b, s), a ; n(b, #2:Fresh))), +(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a))), -(e(mkey(a, s), n(a, #1:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #2:Fresh) ; a)), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 2 . 8 . 6 . 8 . 10 > ( :: nil :: [ nil | -(b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), -(a), +(a ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), +(#1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), +(b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), nil] & :: #2:Fresh :: [ nil, +(a), -(#4:Msg), +(a ; b ; n(a, #2:Fresh) ; #4:Msg) | -(e(mkey(a, s), n(a, #2:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a)), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))), nil] & :: #6:Fresh :: [ nil | -(a ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), +(e(mkey(a, s), n(a, #2:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #3:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a)), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))), nil] ) || e(mkey(a, s), n(a, #2:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a)) !inI, e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a) !inI, e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh))) !inI, e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh)) !inI, (a ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))) !inI, (b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))) !inI, (#1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))) !inI, (#0:Msg ; #1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))) inI, inst(#5:Name) || -(#0:Msg ; #1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), +(#1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), -(#1:Msg ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), +(b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), -(b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), -(a), +(a ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), -(a ; b ; n(a, #2:Fresh) ; e(mkey(b, s), a ; n(b, #3:Fresh))), +(e(mkey(a, s), n(a, #2:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a))), -(e(mkey(a, s), n(a, #2:Fresh) ; b ; seskey(a, b, n(#5:Name, #6:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#5:Name, #6:Fresh)) ; n(b, #3:Fresh) ; a)), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), n(b, #7:Fresh))), +(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))), -(e(seskey(a, b, n(#5:Name, #6:Fresh)), dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 3 . 5 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(i), -(#6:Msg), +(i ; #2:Name ; n(i, #1:Fresh) ; #6:Msg) | -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #5:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#3:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(#0:Msg ; n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(mkey(i, s)), -(n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(i, s), n(i, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 3 . 7 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(i), -(#6:Msg), +(i ; #1:Name ; n(i, #0:Fresh) ; #6:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a))), +(#3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #7:Fresh))), +(e(#2:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #4:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #7:Fresh))), -(e(#2:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || mkey(i, s) !inI, e(#2:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#2:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, ((n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg) inI || -((n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)) ; #5:Msg), +(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), +(mkey(i, s)), -(n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #1:Name ; #2:Sessionkey ; #3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a))), +(#3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #7:Fresh))), -(e(#2:Sessionkey, n(b, #7:Fresh))), +(e(#2:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 3 . 8 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #5:Fresh,#6:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#3:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a))), +(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #6:Fresh))), -(e(#3:Sessionkey, n(b, #6:Fresh))), +(e(#3:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 10 . 10 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#8:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #8:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a))), +(#6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#5:Sessionkey, n(b, #9:Fresh))), +(e(#5:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #9:Fresh))), -(e(#5:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#5:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#2:Name, s) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a))), +(#6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #9:Fresh))), -(e(#5:Sessionkey, n(b, #9:Fresh))), +(e(#5:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 10 . 11 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #9:Fresh))), +(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #9:Fresh))), -(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#4:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg) inI || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #9:Fresh))), -(e(#4:Sessionkey, n(b, #9:Fresh))), +(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 10 . 14 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#4:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #12:Sessionkey ; #13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(#13:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #7:Fresh))), -(e(#4:Sessionkey, n(b, #7:Fresh))), +(e(#4:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 1 . 6 . 14 . 15 > ( :: nil :: [ nil | -(#8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#12:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #12:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), +(#8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(#7:Sessionkey, n(b, #11:Fresh))), +(e(#7:Sessionkey, dec(n(b, #11:Fresh)))), nil] & :: #11:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #11:Fresh))), -(e(#7:Sessionkey, dec(n(b, #11:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #11:Fresh))) !inI, e(#7:Sessionkey, n(b, #11:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (#8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a))), +(#8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(#8:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #11:Fresh))), -(e(#7:Sessionkey, n(b, #11:Fresh))), +(e(#7:Sessionkey, dec(n(b, #11:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #11:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 1 . 6 . 3 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(i), -(#1:Msg), +(i ; #2:Name ; n(i, #0:Fresh) ; #1:Msg) | -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), nil] ) || mkey(i, s) !inI, e(#3:Sessionkey, dec(n(b, #7:Fresh))) !inI, e(#3:Sessionkey, n(b, #7:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) inI || +(mkey(i, s)), -(n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(i, s), n(i, #0:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #7:Fresh))), -(e(#3:Sessionkey, n(b, #7:Fresh))), +(e(#3:Sessionkey, dec(n(b, #7:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #7:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 1 . 6 . 10 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#8:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #8:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #9:Fresh))), +(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #9:Fresh))), -(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#4:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #9:Fresh))), -(e(#4:Sessionkey, n(b, #9:Fresh))), +(e(#4:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 1 . 6 . 11 > ( :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(#0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#5:Name, #6:Fresh)), +(n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a))), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#7:Msg), +(#5:Name ; #0:Name ; n(#5:Name, #6:Fresh) ; #7:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a))), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(#1:Sessionkey, n(b, #8:Fresh))), +(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #4:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #4:Fresh))) | -(e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #8:Fresh))), -(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#1:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#1:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, (n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)) !inI, n(#5:Name, #6:Fresh) inI, mkey(#5:Name, s) inI, (#0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)) inI || -(#0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#5:Name, #6:Fresh)), +(n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #0:Name ; #1:Sessionkey ; #2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a))), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), -(e(mkey(b, s), #1:Sessionkey ; n(b, #4:Fresh) ; a)), +(e(#1:Sessionkey, n(b, #8:Fresh))), -(e(#1:Sessionkey, n(b, #8:Fresh))), +(e(#1:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#1:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 1 . 6 . 12 > ( :: nil :: [ nil | -(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #9:Fresh))), +(e(#3:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #6:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #9:Fresh))), -(e(#3:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#3:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)) ; #7:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; #5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #9:Fresh))), -(e(#3:Sessionkey, n(b, #9:Fresh))), +(e(#3:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 1 . 6 . 14 > ( :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg) | -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #13:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #7:Fresh,#8:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #8:Fresh))) !inI, e(#4:Sessionkey, n(b, #8:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #13:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #13:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #8:Fresh))), -(e(#4:Sessionkey, n(b, #8:Fresh))), +(e(#4:Sessionkey, dec(n(b, #8:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #8:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 1 . 6 > ( :: nil :: [ nil | -(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#8:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #8:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #9:Fresh))), +(e(#3:Sessionkey, dec(n(b, #9:Fresh)))), nil] & :: #7:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #9:Fresh))), -(e(#3:Sessionkey, dec(n(b, #9:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #9:Fresh))) !inI, e(#3:Sessionkey, n(b, #9:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), -(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #9:Fresh))), -(e(#3:Sessionkey, n(b, #9:Fresh))), +(e(#3:Sessionkey, dec(n(b, #9:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #9:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 8 . 1 > ( :: nil :: [ nil | -(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(#6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(#7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: nil :: [ nil | -(#7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(#8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: nil :: [ nil | -(#8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a))), +(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(#4:Sessionkey, n(b, #10:Fresh))), +(e(#4:Sessionkey, dec(n(b, #10:Fresh)))), nil] & :: #10:Fresh,#9:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #10:Fresh))), -(e(#4:Sessionkey, dec(n(b, #10:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #10:Fresh))) !inI, e(#4:Sessionkey, n(b, #10:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a) !inI, (#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (#6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (#7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (#8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)) inI, inst(#4:Sessionkey) || -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a))), +(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), -(#5:Msg ; #6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(#6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), -(#6:Msg ; #7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(#7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), -(#7:Msg ; #8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(#8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), -(#8:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #10:Fresh))), -(e(#4:Sessionkey, n(b, #10:Fresh))), +(e(#4:Sessionkey, dec(n(b, #10:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #10:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 8 . 7 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: nil :: [ nil | -((#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #4:Sessionkey ; #11:Msg)), +(#11:Msg) | -(e(#4:Sessionkey, n(b, #12:Fresh))), +(e(#4:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #5:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #5:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #12:Fresh))), -(e(#4:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#4:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, (#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) !inI, ((#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg) inI || -((#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)) ; #6:Msg), +(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#2:Msg ; #3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(#3:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #5:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #12:Fresh))), -(e(#4:Sessionkey, n(b, #12:Fresh))), +(e(#4:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 8 . 8 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: nil :: [ nil | -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg), -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #5:Sessionkey ; #11:Msg)), +(#11:Msg) | -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #6:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #6:Fresh))) | -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#5:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#5:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a) !inI, (#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) !inI, (#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#1:Msg ; #2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#2:Msg ; #3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#3:Msg ; #4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(#4:Msg ; e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), -(e(mkey(b, s), #5:Sessionkey ; n(b, #6:Fresh) ; a)), +(e(#5:Sessionkey, n(b, #12:Fresh))), -(e(#5:Sessionkey, n(b, #12:Fresh))), +(e(#5:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#5:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 8 . 9 > ( :: nil :: [ nil | -(#13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(#14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), nil] & :: nil :: [ nil | -(#14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(#15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(#13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), nil] & :: nil :: [ nil | -(#15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg)), +(#5:Msg) | -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#8:Name), -(#9:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #7:Fresh) ; #9:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a))), +(#12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), nil] & :: #6:Fresh,#16:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #16:Fresh))) | -(e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || e(#4:Sessionkey, dec(n(b, #6:Fresh))) !inI, e(#4:Sessionkey, n(b, #6:Fresh)) !inI, e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a) !inI, (#13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)) !inI, (#14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)) !inI, (#12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)) !inI, (#15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)) inI || -(e(mkey(#8:Name, s), n(#8:Name, #7:Fresh) ; #10:Name ; #11:Sessionkey ; #12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a))), +(#12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), -(#12:Msg ; #13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(#13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), -(#13:Msg ; #14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(#14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), -(#14:Msg ; #15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(#15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), -(#15:Msg ; e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), -(e(mkey(b, s), #4:Sessionkey ; n(b, #16:Fresh) ; a)), +(e(#4:Sessionkey, n(b, #6:Fresh))), -(e(#4:Sessionkey, n(b, #6:Fresh))), +(e(#4:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#4:Sessionkey, dec(n(b, #6:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 8 . 9 . 8 > ( :: nil :: [ nil | -(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#15:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #15:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #7:Sessionkey ; #13:Msg)), +(#13:Msg) | -(e(#7:Sessionkey, n(b, #14:Fresh))), +(e(#7:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #8:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #14:Fresh))), -(e(#7:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#7:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#4:Msg ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #14:Fresh))), -(e(#7:Sessionkey, n(b, #14:Fresh))), +(e(#7:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 9 . 8 . 4 > ( :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg) | -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #7:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(#7:Sessionkey, n(b, #13:Fresh))), +(e(#7:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #8:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #13:Fresh))), -(e(#7:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#7:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #7:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI, inst(#5:Msg) || -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #7:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #13:Fresh))), -(e(#7:Sessionkey, n(b, #13:Fresh))), +(e(#7:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 9 . 8 . 13 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#9:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #9:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #10:Fresh :: [ nil, +(#11:Name), -(#12:Msg), +(#11:Name ; #13:Name ; n(#11:Name, #10:Fresh) ; #12:Msg), -(e(mkey(#11:Name, s), n(#11:Name, #10:Fresh) ; #13:Name ; #7:Sessionkey ; #14:Msg)), +(#14:Msg) | -(e(#7:Sessionkey, n(b, #15:Fresh))), +(e(#7:Sessionkey, dec(n(b, #15:Fresh)))), nil] & :: #8:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #15:Fresh))), -(e(#7:Sessionkey, dec(n(b, #15:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #15:Fresh))) !inI, e(#7:Sessionkey, n(b, #15:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI || -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #15:Fresh))), -(e(#7:Sessionkey, n(b, #15:Fresh))), +(e(#7:Sessionkey, dec(n(b, #15:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #15:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 9 . 8 . 15 > ( :: nil :: [ nil | -(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#9:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #9:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #10:Fresh :: [ nil, +(#11:Name), -(#12:Msg), +(#11:Name ; #13:Name ; n(#11:Name, #10:Fresh) ; #12:Msg), -(e(mkey(#11:Name, s), n(#11:Name, #10:Fresh) ; #13:Name ; #6:Sessionkey ; #14:Msg)), +(#14:Msg) | -(e(#6:Sessionkey, n(b, #15:Fresh))), +(e(#6:Sessionkey, dec(n(b, #15:Fresh)))), nil] & :: #7:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #15:Fresh))), -(e(#6:Sessionkey, dec(n(b, #15:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #15:Fresh))) !inI, e(#6:Sessionkey, n(b, #15:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, ((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg) inI || -((n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg), +(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; #4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#4:Msg ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #15:Fresh))), -(e(#6:Sessionkey, n(b, #15:Fresh))), +(e(#6:Sessionkey, dec(n(b, #15:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #15:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 8 . 9 . 8 . 17 > ( :: nil :: [ nil | -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#10:Name), -(#11:Msg), +(#10:Name ; #12:Name ; n(#10:Name, #9:Fresh) ; #11:Msg), -(e(mkey(#10:Name, s), n(#10:Name, #9:Fresh) ; #12:Name ; #7:Sessionkey ; #13:Msg)), +(#13:Msg) | -(e(#7:Sessionkey, n(b, #14:Fresh))), +(e(#7:Sessionkey, dec(n(b, #14:Fresh)))), nil] & :: #15:Fresh :: [ nil, +(#16:Name), -(#17:Msg), +(#16:Name ; #18:Name ; n(#16:Name, #15:Fresh) ; #17:Msg) | -(e(mkey(#16:Name, s), n(#16:Name, #15:Fresh) ; #18:Name ; #19:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #8:Fresh,#14:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #14:Fresh))), -(e(#7:Sessionkey, dec(n(b, #14:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #14:Fresh))) !inI, e(#7:Sessionkey, n(b, #14:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#16:Name, s), n(#16:Name, #15:Fresh) ; #18:Name ; #19:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI || -(e(mkey(#16:Name, s), n(#16:Name, #15:Fresh) ; #18:Name ; #19:Sessionkey ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#5:Msg ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #14:Fresh))), -(e(#7:Sessionkey, n(b, #14:Fresh))), +(e(#7:Sessionkey, dec(n(b, #14:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #14:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 4 . 15 > ( :: nil :: [ nil | -(#8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), nil] & :: #1:Fresh :: [ nil, +(#0:Name), -(#11:Msg), +(#0:Name ; #2:Name ; n(#0:Name, #1:Fresh) ; #11:Msg) | -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(#3:Sessionkey, n(b, #12:Fresh))), +(e(#3:Sessionkey, dec(n(b, #12:Fresh)))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), +(#8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), nil] & :: #9:Fresh,#12:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #9:Fresh))) | -(e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #12:Fresh))), -(e(#3:Sessionkey, dec(n(b, #12:Fresh)))), nil] ) || e(#3:Sessionkey, dec(n(b, #12:Fresh))) !inI, e(#3:Sessionkey, n(b, #12:Fresh)) !inI, e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a) !inI, e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (#8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)) !inI, mkey(#0:Name, s) inI, mkey(#4:Name, s) inI, (n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)) inI || -(n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#0:Name, s)), +(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#0:Name, s), n(#0:Name, #1:Fresh) ; #2:Name ; #3:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; #8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a))), +(#8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(#8:Msg ; e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), -(e(mkey(b, s), #3:Sessionkey ; n(b, #9:Fresh) ; a)), +(e(#3:Sessionkey, n(b, #12:Fresh))), -(e(#3:Sessionkey, n(b, #12:Fresh))), +(e(#3:Sessionkey, dec(n(b, #12:Fresh)))), -(e(#3:Sessionkey, dec(n(b, #12:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 13 . 5 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#6:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI, inst(#5:Msg), inst(#1:Name), inst(#3:Name), inst(#4:Sessionkey), inst(#6:Sessionkey) || -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#12:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 13 . 13 > ( :: nil :: [ nil | -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#2:Name), -(#9:Msg), +(#2:Name ; #4:Name ; n(#2:Name, #3:Fresh) ; #9:Msg) | -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), nil] & :: #10:Fresh :: [ nil, +(#11:Name), -(#12:Msg), +(#11:Name ; #13:Name ; n(#11:Name, #10:Fresh) ; #12:Msg), -(e(mkey(#11:Name, s), n(#11:Name, #10:Fresh) ; #13:Name ; #7:Sessionkey ; #14:Msg)), +(#14:Msg) | -(e(#7:Sessionkey, n(b, #15:Fresh))), +(e(#7:Sessionkey, dec(n(b, #15:Fresh)))), nil] & :: #8:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #8:Fresh))) | -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #15:Fresh))), -(e(#7:Sessionkey, dec(n(b, #15:Fresh)))), nil] ) || e(#7:Sessionkey, dec(n(b, #15:Fresh))) !inI, e(#7:Sessionkey, n(b, #15:Fresh)) !inI, e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a) !inI, e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, (n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) !inI, mkey(#2:Name, s) inI, (#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)) inI || -(#0:Msg ; #1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#1:Msg ; n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(mkey(#2:Name, s)), +(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), -(e(mkey(#2:Name, s), n(#2:Name, #3:Fresh) ; #4:Name ; #5:Sessionkey ; #6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a))), +(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(#6:Msg ; e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), -(e(mkey(b, s), #7:Sessionkey ; n(b, #8:Fresh) ; a)), +(e(#7:Sessionkey, n(b, #15:Fresh))), -(e(#7:Sessionkey, n(b, #15:Fresh))), +(e(#7:Sessionkey, dec(n(b, #15:Fresh)))), -(e(#7:Sessionkey, dec(n(b, #15:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 13 . 14 > ( :: nil :: [ nil | -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: nil :: [ nil | -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #2:Fresh :: [ nil, +(#1:Name), -(#9:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #2:Fresh) ; #9:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #10:Fresh :: [ nil, +(#11:Name), -(#12:Msg), +(#11:Name ; #13:Name ; n(#11:Name, #10:Fresh) ; #12:Msg), -(e(mkey(#11:Name, s), n(#11:Name, #10:Fresh) ; #13:Name ; #6:Sessionkey ; #14:Msg)), +(#14:Msg) | -(e(#6:Sessionkey, n(b, #15:Fresh))), +(e(#6:Sessionkey, dec(n(b, #15:Fresh)))), nil] & :: #7:Fresh,#15:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #15:Fresh))), -(e(#6:Sessionkey, dec(n(b, #15:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #15:Fresh))) !inI, e(#6:Sessionkey, n(b, #15:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, ((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg) inI || -((#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) ; #8:Msg), +(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#0:Msg ; n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #2:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #15:Fresh))), -(e(#6:Sessionkey, n(b, #15:Fresh))), +(e(#6:Sessionkey, dec(n(b, #15:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #15:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 13 . 17 > ( :: nil :: [ nil | -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(#19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg) | -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #6:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] & :: #14:Fresh :: [ nil, +(#15:Name), -(#16:Msg), +(#15:Name ; #17:Name ; n(#15:Name, #14:Fresh) ; #16:Msg) | -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; #19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), nil] & :: #7:Fresh,#13:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))) | -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), nil] ) || e(#6:Sessionkey, dec(n(b, #13:Fresh))) !inI, e(#6:Sessionkey, n(b, #13:Fresh)) !inI, e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a) !inI, e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (#19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, (n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) !inI, mkey(#1:Name, s) inI, e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; #19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)) inI || -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #18:Sessionkey ; #19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#19:Msg ; n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(mkey(#1:Name, s)), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; #4:Sessionkey ; #5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a))), +(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(#5:Msg ; e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), -(e(mkey(b, s), #6:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#6:Sessionkey, n(b, #13:Fresh))), -(e(#6:Sessionkey, n(b, #13:Fresh))), +(e(#6:Sessionkey, dec(n(b, #13:Fresh)))), -(e(#6:Sessionkey, dec(n(b, #13:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 6 . 9 . 8 . 17 . 17 > ( :: nil :: [ nil | -(#11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#18:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #18:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#7:Name), -(#12:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #8:Fresh) ; #12:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg), -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; #17:Msg)), +(#17:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, mkey(#7:Name, s) inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; #11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#11:Msg ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {1}) . 4 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(i), -(#4:Msg), +(i ; #5:Name ; n(i, #3:Fresh) ; #4:Msg) | -(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #6:Fresh :: [ nil, +(i), -(#9:Msg), +(i ; #7:Name ; n(i, #6:Fresh) ; #9:Msg) | -(e(mkey(i, s), n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || mkey(i, s) !inI, e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(i, s), n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#8:Sessionkey) || +(mkey(i, s)), -(n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(i, s), n(i, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {1}) . 11 > ( :: nil :: [ nil | -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #8:Name ; n(#4:Name, #7:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, (#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#9:Sessionkey) || -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {1}) . 12 > ( :: nil :: [ nil | -(#3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #8:Fresh)), +(n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#4:Name), -(#9:Msg), +(#4:Name ; #3:Name ; n(#4:Name, #8:Fresh) ; #9:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, n(#4:Name, #8:Fresh) inI, mkey(#4:Name, s) inI, (#3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#7:Sessionkey) || -(#3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #8:Fresh)), +(n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {1}) . 13 > ( :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #9:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#10:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #10:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #6:Fresh :: [ nil, +(#3:Name), -(#11:Msg), +(#3:Name ; #7:Name ; n(#3:Name, #6:Fresh) ; #11:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#3:Name, s), n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, ((n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #9:Msg) inI, inst(#8:Sessionkey) || -((n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #9:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {1}) . 16 > ( :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#4:Name), -(#10:Msg), +(#4:Name ; #8:Name ; n(#4:Name, #7:Fresh) ; #10:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg) | -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#9:Sessionkey) || -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #15:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {2}) . 4 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(i), -(#4:Msg), +(i ; #5:Name ; n(i, #3:Fresh) ; #4:Msg) | -(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#6:Name), -(#10:Msg), +(#6:Name ; #8:Name ; n(#6:Name, #7:Fresh) ; #10:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || mkey(i, s) !inI, e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#6:Name, s) inI, (n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#9:Sessionkey), mkey(i, s) != mkey(#6:Name, s) || +(mkey(i, s)), -(n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {2}) . 16 > ( :: nil :: [ nil | -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #8:Fresh :: [ nil, +(#7:Name), -(#12:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #8:Fresh) ; #12:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, mkey(#7:Name, s) inI, (#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#10:Sessionkey), mkey(#4:Name, s) != mkey(#7:Name, s) || -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {2}) . 17 > ( :: nil :: [ nil | -(#3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#8:Name, #9:Fresh)), +(n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #9:Fresh :: [ nil, +(#8:Name), -(#10:Msg), +(#8:Name ; #3:Name ; n(#8:Name, #9:Fresh) ; #10:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, n(#8:Name, #9:Fresh) inI, mkey(#4:Name, s) inI, mkey(#8:Name, s) inI, (#3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#7:Sessionkey), mkey(#4:Name, s) != mkey(#8:Name, s) || -(#3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#8:Name, #9:Fresh)), +(n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #3:Name ; #2:Sessionkey ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {2}) . 18 > ( :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #10:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#11:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #11:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #7:Fresh :: [ nil, +(#6:Name), -(#12:Msg), +(#6:Name ; #8:Name ; n(#6:Name, #7:Fresh) ; #12:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, mkey(#6:Name, s) inI, ((n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #10:Msg) inI, inst(#9:Sessionkey), mkey(#3:Name, s) != mkey(#6:Name, s) || -((n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #10:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 4 . (12 {2}) . 23 > ( :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #8:Fresh :: [ nil, +(#7:Name), -(#11:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #8:Fresh) ; #11:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #12:Fresh :: [ nil, +(#13:Name), -(#14:Msg), +(#13:Name ; #15:Name ; n(#13:Name, #12:Fresh) ; #14:Msg) | -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #16:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, mkey(#7:Name, s) inI, e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #16:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#10:Sessionkey), mkey(#4:Name, s) != mkey(#7:Name, s) || -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #16:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #2:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 1 . 12 > ( :: nil :: [ nil | -(#6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#12:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #12:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #8:Fresh :: [ nil, +(#7:Name), -(#11:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #8:Fresh) ; #11:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, mkey(#7:Name, s) inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#7:Name), inst(#9:Name), inst(#2:Sessionkey), inst(#10:Sessionkey) || -(n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #2:Sessionkey ; #6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#6:Msg ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 13 . 5 > ( :: nil :: [ nil | -(#13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(#12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg) | -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #2:Sessionkey ; #12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #2:Sessionkey ; #12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#4:Name) || -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #2:Sessionkey ; #12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#12:Msg ; #13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#13:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 13 . 14 > ( :: nil :: [ nil | -(#3:Msg ; #4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(#4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(#5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #7:Fresh :: [ nil, +(#6:Name), -(#10:Msg), +(#6:Name ; #8:Name ; n(#6:Name, #7:Fresh) ; #10:Msg) | -(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg), -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #2:Sessionkey ; #15:Msg)), +(#15:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#6:Name, s) inI, (#3:Msg ; #4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || -(#3:Msg ; #4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#4:Msg ; #5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#5:Msg ; n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#6:Name, s)), +(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#6:Name, s), n(#6:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 13 . 15 > ( :: nil :: [ nil | -(#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -((#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #9:Msg), +(#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #6:Fresh :: [ nil, +(#5:Name), -(#10:Msg), +(#5:Name ; #7:Name ; n(#5:Name, #6:Fresh) ; #10:Msg) | -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg), -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #2:Sessionkey ; #15:Msg)), +(#15:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#5:Name, s) inI, ((#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #9:Msg) inI || -((#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #9:Msg), +(#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#3:Msg ; #4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#4:Msg ; n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#5:Name, s)), +(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#5:Name, s), n(#5:Name, #6:Fresh) ; #7:Name ; #8:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 13 . 19 > ( :: nil :: [ nil | -(#18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(#19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#9:Name), -(#10:Msg), +(#9:Name ; #11:Name ; n(#9:Name, #8:Fresh) ; #10:Msg), -(e(mkey(#9:Name, s), n(#9:Name, #8:Fresh) ; #11:Name ; #2:Sessionkey ; #12:Msg)), +(#12:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg) | -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #17:Sessionkey ; #18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#18:Msg ; #19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(#19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#19:Msg ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 13 . 18 . 15 > ( :: nil :: [ nil | -(#7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#18:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #18:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg), -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; #17:Msg)), +(#17:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #9:Fresh :: [ nil, +(#8:Name), -(#12:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #9:Fresh) ; #12:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (#7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, mkey(#8:Name, s) inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; #7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(#7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(#7:Msg ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {1}) . 3 > ( :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #9:Name ; n(#4:Name, #8:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #12:Fresh :: [ nil, +(#13:Name), -(#14:Msg), +(#13:Name ; #15:Name ; n(#13:Name, #12:Fresh) ; #14:Msg) | -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #2:Sessionkey ; #16:Msg)), +(#16:Msg), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #2:Sessionkey ; #16:Msg) inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #2:Sessionkey ; #16:Msg)), +(#16:Msg), -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {1}) . 5 > ( :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #9:Name ; n(#4:Name, #8:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #12:Fresh :: [ nil, +(#13:Name), -(#14:Msg), +(#13:Name ; #15:Name ; n(#13:Name, #12:Fresh) ; #14:Msg) | -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #2:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #2:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#6:Name), inst(#7:Sessionkey) || -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #2:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {1}) . 7 > ( :: nil :: [ nil | +(mkey(i, s)), nil] & :: nil :: [ nil | -(n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(i), -(#4:Msg), +(i ; #5:Name ; n(i, #3:Fresh) ; #4:Msg) | -(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(i), -(#10:Msg), +(i ; #8:Name ; n(i, #7:Fresh) ; #10:Msg) | -(e(mkey(i, s), n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #11:Fresh :: [ nil, +(#12:Name), -(#13:Msg), +(#12:Name ; #14:Name ; n(#12:Name, #11:Fresh) ; #13:Msg), -(e(mkey(#12:Name, s), n(#12:Name, #11:Fresh) ; #14:Name ; #2:Sessionkey ; #15:Msg)), +(#15:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || mkey(i, s) !inI, e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(i, s), n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || +(mkey(i, s)), -(n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(i, s), n(i, #3:Fresh) ; #5:Name ; #6:Sessionkey ; n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(i, s)), +(e(mkey(i, s), n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(i, s), n(i, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {1}) . 14 > ( :: nil :: [ nil | -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#4:Name), -(#12:Msg), +(#4:Name ; #9:Name ; n(#4:Name, #8:Fresh) ; #12:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg), -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; #17:Msg)), +(#17:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, (#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {1}) . 16 > ( :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #10:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#11:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #11:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #7:Fresh :: [ nil, +(#3:Name), -(#12:Msg), +(#3:Name ; #8:Name ; n(#3:Name, #7:Fresh) ; #12:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg), -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; #17:Msg)), +(#17:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#3:Name, s), n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, ((n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #10:Msg) inI || -((n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #10:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #7:Fresh) ; #8:Name ; #9:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {1}) . 19 > ( :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#4:Name), -(#11:Msg), +(#4:Name ; #9:Name ; n(#4:Name, #8:Fresh) ; #11:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #12:Fresh :: [ nil, +(#13:Name), -(#14:Msg), +(#13:Name ; #15:Name ; n(#13:Name, #12:Fresh) ; #14:Msg), -(e(mkey(#13:Name, s), n(#13:Name, #12:Fresh) ; #15:Name ; #2:Sessionkey ; #16:Msg)), +(#16:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #17:Fresh :: [ nil, +(#18:Name), -(#19:Msg), +(#18:Name ; #20:Name ; n(#18:Name, #17:Fresh) ; #19:Msg) | -(e(mkey(#18:Name, s), n(#18:Name, #17:Fresh) ; #20:Name ; #21:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, e(mkey(#18:Name, s), n(#18:Name, #17:Fresh) ; #20:Name ; #21:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI || -(e(mkey(#18:Name, s), n(#18:Name, #17:Fresh) ; #20:Name ; #21:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {2}) . 5 > ( :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg) | -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #9:Fresh :: [ nil, +(#8:Name), -(#12:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #9:Fresh) ; #12:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, mkey(#8:Name, s) inI, e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, inst(#4:Name), inst(#6:Name), inst(#7:Sessionkey), mkey(#4:Name, s) != mkey(#8:Name, s) || -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {2}) . 20 > ( :: nil :: [ nil | -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: nil :: [ nil | -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #5:Fresh :: [ nil, +(#4:Name), -(#12:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #5:Fresh) ; #12:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #14:Fresh :: [ nil, +(#15:Name), -(#16:Msg), +(#15:Name ; #17:Name ; n(#15:Name, #14:Fresh) ; #16:Msg), -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #2:Sessionkey ; #18:Msg)), +(#18:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #9:Fresh :: [ nil, +(#8:Name), -(#13:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #9:Fresh) ; #13:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, mkey(#8:Name, s) inI, (#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, mkey(#4:Name, s) != mkey(#8:Name, s) || -(#3:Msg ; n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #5:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {2}) . 22 > ( :: nil :: [ nil | -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -((n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #11:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #4:Fresh :: [ nil, +(#3:Name), -(#12:Msg), +(#3:Name ; #5:Name ; n(#3:Name, #4:Fresh) ; #12:Msg) | -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #8:Fresh :: [ nil, +(#7:Name), -(#13:Msg), +(#7:Name ; #9:Name ; n(#7:Name, #8:Fresh) ; #13:Msg) | -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #14:Fresh :: [ nil, +(#15:Name), -(#16:Msg), +(#15:Name ; #17:Name ; n(#15:Name, #14:Fresh) ; #16:Msg), -(e(mkey(#15:Name, s), n(#15:Name, #14:Fresh) ; #17:Name ; #2:Sessionkey ; #18:Msg)), +(#18:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#3:Name, s) inI, mkey(#7:Name, s) inI, ((n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #11:Msg) inI, mkey(#3:Name, s) != mkey(#7:Name, s) || -((n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) ; #11:Msg), +(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#3:Name, s)), +(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#3:Name, s), n(#3:Name, #4:Fresh) ; #5:Name ; #6:Sessionkey ; n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#7:Name, s)), +(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#7:Name, s), n(#7:Name, #8:Fresh) ; #9:Name ; #10:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 7 . 3 . 9 . 8 . 18 . (15 {2}) . 27 > ( :: nil :: [ nil | -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: nil :: [ nil | -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), nil] & :: #3:Fresh :: [ nil, +(#4:Name), -(#5:Msg), +(#4:Name ; #6:Name ; n(#4:Name, #3:Fresh) ; #5:Msg) | -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #13:Fresh :: [ nil, +(#14:Name), -(#15:Msg), +(#14:Name ; #16:Name ; n(#14:Name, #13:Fresh) ; #15:Msg), -(e(mkey(#14:Name, s), n(#14:Name, #13:Fresh) ; #16:Name ; #2:Sessionkey ; #17:Msg)), +(#17:Msg) | -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] & :: #9:Fresh :: [ nil, +(#8:Name), -(#12:Msg), +(#8:Name ; #10:Name ; n(#8:Name, #9:Fresh) ; #12:Msg) | -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #18:Fresh :: [ nil, +(#19:Name), -(#20:Msg), +(#19:Name ; #21:Name ; n(#19:Name, #18:Fresh) ; #20:Msg) | -(e(mkey(#19:Name, s), n(#19:Name, #18:Fresh) ; #21:Name ; #22:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), nil] ) || e(#2:Sessionkey, dec(n(b, #1:Fresh))) !inI, e(#2:Sessionkey, n(b, #1:Fresh)) !inI, e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a) !inI, e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, (n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) !inI, mkey(#4:Name, s) inI, mkey(#8:Name, s) inI, e(mkey(#19:Name, s), n(#19:Name, #18:Fresh) ; #21:Name ; #22:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)) inI, mkey(#4:Name, s) != mkey(#8:Name, s) || -(e(mkey(#19:Name, s), n(#19:Name, #18:Fresh) ; #21:Name ; #22:Sessionkey ; n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#4:Name, s)), +(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#4:Name, s), n(#4:Name, #3:Fresh) ; #6:Name ; #7:Sessionkey ; n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(mkey(#8:Name, s)), +(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), -(e(mkey(#8:Name, s), n(#8:Name, #9:Fresh) ; #10:Name ; #11:Sessionkey ; e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), #2:Sessionkey ; n(b, #0:Fresh) ; a)), +(e(#2:Sessionkey, n(b, #1:Fresh))), -(e(#2:Sessionkey, n(b, #1:Fresh))), +(e(#2:Sessionkey, dec(n(b, #1:Fresh)))), -(e(#2:Sessionkey, dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 9 . 0 . 3 > ( :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(seskey(a, b, n(#2:Name, #3:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(n(b, #1:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), +(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))) | nil] & :: #4:Fresh :: [ nil, +(a), -(#5:Msg), +(a ; b ; n(a, #4:Fresh) ; #5:Msg), -(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)) | nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))) | -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a) inI, seskey(a, b, n(#2:Name, #3:Fresh)) inI || -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), resuscitated(seskey(a, b, n(#2:Name, #3:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))) || nil || nil) (< 1 . 2 . 3 . 2 . 1 . 7 . 9 . 0 . 13 > ( :: nil :: [ nil | -(dec(n(b, #1:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(seskey(a, b, n(#2:Name, #3:Fresh)) ; #4:Msg), +(seskey(a, b, n(#2:Name, #3:Fresh))), nil] & :: nil :: [ nil | -(seskey(a, b, n(#2:Name, #3:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(n(b, #1:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; n(a, #5:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), +(e(mkey(a, s), n(a, #5:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))) | nil] & :: #5:Fresh :: [ nil, +(a), -(#6:Msg), +(a ; b ; n(a, #5:Fresh) ; #6:Msg), -(e(mkey(a, s), n(a, #5:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)) | nil] & :: #0:Fresh,#1:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))) | -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] ) || dec(n(b, #1:Fresh)) !inI, n(b, #1:Fresh) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh))) !inI, seskey(a, b, n(#2:Name, #3:Fresh)) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh)) inI, (seskey(a, b, n(#2:Name, #3:Fresh)) ; #4:Msg) inI || -(seskey(a, b, n(#2:Name, #3:Fresh)) ; #4:Msg), +(seskey(a, b, n(#2:Name, #3:Fresh))), resuscitated(seskey(a, b, n(#2:Name, #3:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(n(b, #1:Fresh)), -(n(b, #1:Fresh)), +(dec(n(b, #1:Fresh))), -(dec(n(b, #1:Fresh))), -(seskey(a, b, n(#2:Name, #3:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))) || nil || nil) < 1 . 2 . 3 . 4 . 6 . 2 . 7 . 9 . 0 > ( :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: nil :: [ nil | -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(mkey(#3:Name, s)), -(e(mkey(#3:Name, s), seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name)), +(seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name), nil] & :: nil :: [ nil | -(n(b, #6:Fresh) ; #1:Name), +(n(b, #6:Fresh)), nil] & :: nil :: [ nil | -(seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name), +(n(b, #6:Fresh) ; #1:Name), nil] & :: #0:Fresh :: [ nil, +(#1:Name), -(#2:Msg), +(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; #2:Msg), -(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; e(mkey(#3:Name, s), seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name))), +(e(mkey(#3:Name, s), seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name)) | nil] & :: #5:Fresh :: [ nil, -(#1:Name ; #3:Name ; n(#1:Name, #0:Fresh) ; e(mkey(#3:Name, s), #1:Name ; n(b, #6:Fresh))), +(e(mkey(#1:Name, s), n(#1:Name, #0:Fresh) ; #3:Name ; seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; e(mkey(#3:Name, s), seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name))) | nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #6:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] ) || dec(n(b, #6:Fresh)) !inI, n(b, #6:Fresh) !inI, e(#8:Sessionkey, dec(n(b, #6:Fresh))) !inI, (n(b, #6:Fresh) ; #1:Name) !inI, (seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name) !inI, mkey(#3:Name, s) inI, e(mkey(#3:Name, s), seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name) inI || resuscitated(mkey(#3:Name, s)), -(mkey(#3:Name, s)), -(e(mkey(#3:Name, s), seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name)), +(seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name), -(seskey(#1:Name, #3:Name, n(#4:Name, #5:Fresh)) ; n(b, #6:Fresh) ; #1:Name), +(n(b, #6:Fresh) ; #1:Name), -(n(b, #6:Fresh) ; #1:Name), +(n(b, #6:Fresh)), -(n(b, #6:Fresh)), +(dec(n(b, #6:Fresh))), -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))) || ghost( #8:Sessionkey, :: nil :: [ nil | -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, -(a), +(e(mkey(b, s), a ; n(b, #7:Fresh))), -(e(mkey(b, s), #8:Sessionkey ; n(b, #7:Fresh) ; a)), +(e(#8:Sessionkey, n(b, #6:Fresh))) | -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil] , e(#8:Sessionkey, dec(n(b, #6:Fresh))) !inI, dec(n(b, #6:Fresh)) inI, -(dec(n(b, #6:Fresh))), -(#8:Sessionkey), +(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), -(e(#8:Sessionkey, dec(n(b, #6:Fresh)))), nil ) || nil ========================================== reduce in MAUDE-NPA : initials(7) . rewrites: 1586 in 0ms cpu (0ms real) (1586000000 rewrites/second) result IdSystem: < 1 . 7 . 3 . 2 . 8 . 2 . 1 . 1 > ( :: #3:Fresh :: [ nil | -(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), +(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), nil] & :: #4:Fresh :: [ nil | +(a), -(e(mkey(b, s), a ; n(b, #0:Fresh))), +(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), -(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] & :: #0:Fresh,#1:Fresh :: [ nil | -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), nil] ) || e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)) !inI, e(mkey(b, s), a ; n(b, #0:Fresh)) !inI, e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh))) !inI, e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh)) !inI, (a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))) !inI, inst(#2:Name) || -(a), +(e(mkey(b, s), a ; n(b, #0:Fresh))), +(a), -(e(mkey(b, s), a ; n(b, #0:Fresh))), +(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), -(a ; b ; n(a, #4:Fresh) ; e(mkey(b, s), a ; n(b, #0:Fresh))), +(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), -(e(mkey(a, s), n(a, #4:Fresh) ; b ; seskey(a, b, n(#2:Name, #3:Fresh)) ; e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a))), +(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), -(e(mkey(b, s), seskey(a, b, n(#2:Name, #3:Fresh)) ; n(b, #0:Fresh) ; a)), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), n(b, #1:Fresh))), +(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))), -(e(seskey(a, b, n(#2:Name, #3:Fresh)), dec(n(b, #1:Fresh)))) || nil || nil Maude> Bye. Wed Dec 5 10:15:38 CET 2012 Santiagos-MacBook-Pro:prototype-20121204 sescobar$