Santiagos-MacBook-Pro:prototype-20121204 sescobar$ examples/Diffie-Hellman-attack1-command Wed Dec 5 10:14:24 CET 2012 \||||||||||||||||||/ --- Welcome to Maude --- /||||||||||||||||||\ Maude alpha96b built: Nov 9 2012 18:20:01 Copyright 1997-2011 SRI International Wed Dec 5 10:14:24 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: 11170380 in 17226ms cpu (17375ms real) (648460 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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:NeNonceSet notInI, (#0:NeNonceSet notLeq n(i, #1:Fresh)), #0:NeNonceSet notLeq #2:NeNonceSet * #3:NeNonceSet => (#4:NeNonceSet * #0:NeNonceSet) inL . ; grl (#1:NeNonceSet * #0:NeNonceSet) notInI, (#0:NeNonceSet notLeq n(i, #2:Fresh)), (#1:NeNonceSet * #0:NeNonceSet) notLeq #4:NeNonceSet * #3:NeNonceSet => #0:NeNonceSet inL .) | (errorNoHeuristicApplied { grl empty => (#1:NeNonceSet * #2:NeNonceSet) inL .,none, grl empty => (#1:NeNonceSet,#2:NeNonceSet) inL .,none, grl empty => (#1:NeNonceSet,#2:NeNonceSet) inL .} usingGrammar grl empty => (#1:NeNonceSet * #2:NeNonceSet) 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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg notInI => (#0:Msg ; #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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg notInI, (#0:Msg notLeq exp(g, n(#1:Name, #2:Fresh))), #0:Msg notLeq #3:Name ; exp(g, n(#4:Name, #5:Fresh)) => (#6: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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1: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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1: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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Key notInI, (#0:Key notLeq exp(#1:Exp, n(#2:Name, #3:Fresh))), #0:Key notLeq exp(#4:Gen, #5:NeNonceSet * n(#6:Name, #7:Fresh)) => e(#0:Key, #8: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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:Msg notInI, #0:Msg notLeq sec(#1:Name, #2:Fresh) => e(#3: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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:GenvExp notInI => exp(#0:GenvExp, #1:NeNonceSet) 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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl #0:NeNonceSet notInI, (#0:NeNonceSet notLeq n(#1:Name, #2:Fresh)), #0:NeNonceSet notLeq #4:NeNonceSet * #3:NeNonceSet => exp(#5:GenvExp, #0:NeNonceSet) inL .) | (errorNoHeuristicApplied { grl empty => exp(#1:GenvExp, #2:NeNonceSet) inL .,none, grl empty => (#2:NeNonceSet,#1:GenvExp) inL .,none, grl empty => (#2:NeNonceSet,#1:GenvExp) inL .} usingGrammar grl empty => exp(#1:GenvExp, #2:NeNonceSet) 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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl n(#0:Name, #1:Fresh) notLeq n(i, #2:Fresh) => n(#0:Name, #1:Fresh) inL .) | (errorInconsistentExceptionsInGrammarRule grl sec(#0:Name, #1:Fresh) notLeq sec(#3:Name, #5:Fresh) => sec(#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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ; grl sec(#0:Name, #1:Fresh) notLeq sec(#3:Name, #5:Fresh) => sec(#0:Name, #1:Fresh) inL .) | grl empty => n(a, #0:Fresh) inL . ; grl empty => n(b, #0:Fresh) inL . ; grl empty => (#0:NeNonceSet * n(a, #1:Fresh)) inL . ; grl empty => (#0:NeNonceSet * n(b, #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 => (#1:Msg ; #0:Msg) inL . ; grl #0:Msg inL => (#0:Msg ; #1:Msg) inL . ========================================== reduce in MAUDE-NPA : run(1, 0) . rewrites: 3465 in 33ms cpu (33ms real) (103658 rewrites/second) result IdSystem: < 1 > :: r:Fresh :: [ nil, -(a ; b ; XE:Exp), +(a ; b ; exp(g, n(b, r:Fresh))), -(e(exp(XE:Exp, n(b, r:Fresh)), sec(a, r':Fresh))) | nil] || sec(a, r':Fresh) inI || nil || nil || nil ========================================== reduce in MAUDE-NPA : summary(1, 1) . rewrites: 1973032 in 4481ms cpu (4499ms real) (440253 rewrites/second) result Summary: States>> 4 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 2) . rewrites: 4205253 in 10474ms cpu (10537ms real) (401483 rewrites/second) result Summary: States>> 6 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 3) . rewrites: 9032316 in 20075ms cpu (20190ms real) (449907 rewrites/second) result Summary: States>> 11 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 4) . rewrites: 35347614 in 61429ms cpu (61765ms real) (575414 rewrites/second) result Summary: States>> 14 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 5) . rewrites: 55298683 in 85148ms cpu (85555ms real) (649439 rewrites/second) result Summary: States>> 19 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 6) . rewrites: 70541270 in 101913ms cpu (102380ms real) (692165 rewrites/second) result Summary: States>> 19 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 7) . rewrites: 168763995 in 184998ms cpu (185627ms real) (912243 rewrites/second) result Summary: States>> 27 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 8) . rewrites: 384068410 in 435757ms cpu (437308ms real) (881380 rewrites/second) result Summary: States>> 17 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 9) . rewrites: 91006724 in 134818ms cpu (135373ms real) (675030 rewrites/second) result Summary: States>> 6 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 10) . rewrites: 20023824 in 23353ms cpu (23426ms real) (857435 rewrites/second) result Summary: States>> 3 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 11) . rewrites: 6498061 in 9842ms cpu (9889ms real) (660212 rewrites/second) result Summary: States>> 2 Solutions>> 0 ========================================== reduce in MAUDE-NPA : summary(1, 12) . rewrites: 2776166 in 4391ms cpu (4412ms real) (632199 rewrites/second) result Summary: States>> 1 Solutions>> 1 ========================================== reduce in MAUDE-NPA : run(1, 1) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< (1 [1]) . 1 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; #3:Exp), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] ) || sec(a, #1:Fresh) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh)) inI, irr(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), inst(#3:Exp) || -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; #3:Exp), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] , sec(a, #1:Fresh) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh)) inI, irr(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), inst(#3:Exp), -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) > ( :: nil :: [ nil | -(exp(#1:Exp, n(b, #2:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Exp, n(b, #2:Fresh)), sec(a, #3:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Exp, n(b, #2:Fresh)), sec(a, #3:Fresh))), nil] ) || e(exp(#1:Exp, n(b, #2:Fresh)), sec(a, #3:Fresh)) !inI, sec(a, #3:Fresh) inI, exp(#1:Exp, n(b, #2:Fresh)) inI, irr(sec(a, #3:Fresh)), irr(e(exp(#1:Exp, n(b, #2:Fresh)), sec(a, #3:Fresh))), irr(exp(#1:Exp, n(b, #2:Fresh))), inst(#1:Exp) || -(exp(#1:Exp, n(b, #2:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Exp, n(b, #2:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Exp, n(b, #2:Fresh)), sec(a, #3:Fresh))) || nil || nil) (< (1 [1]) . (5 [2]) > ( :: nil :: [ nil | -(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh)), sec(a, #2:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(%4:Gen, %5:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh)), sec(a, #2:Fresh))), nil] ) || e(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh)), sec(a, #2:Fresh)) !inI, sec(a, #2:Fresh) inI, exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh)) inI, irr(e(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh)), sec(a, #2:Fresh))), irr(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh))), inst(%4:Gen), inst(%5:NeNonceSet) || -(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh)), sec(a, #2:Fresh))), -(e(exp(%4:Gen, %5:NeNonceSet * n(b, #1:Fresh)), sec(a, #2:Fresh))) || nil || nil) < (1 [2]) . 1 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] ) || sec(a, #1:Fresh) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh)) inI, irr(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), inst(#3:Gen), inst(#4:NeNonceSet) || -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] , sec(a, #1:Fresh) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh)) inI, irr(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), inst(#3:Gen), inst(#4:NeNonceSet), -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 2) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< (1 [1]) . (4 [2]) . 3 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: nil :: [ nil | -(exp(#3:Exp, n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; #3:Exp), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] ) || sec(a, #1:Fresh) !inI, e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh)) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, exp(#3:Exp, n(b, #2:Fresh)) inI, irr(sec(a, #1:Fresh)), irr(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), irr(exp(#3:Exp, n(b, #2:Fresh))), inst(#3:Exp) || -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(exp(#3:Exp, n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: nil :: [ nil | -(exp(#3:Exp, n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; #3:Exp), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] , sec(a, #1:Fresh) !inI, e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh)) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, exp(#3:Exp, n(b, #2:Fresh)) inI, irr(sec(a, #1:Fresh)), irr(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), irr(exp(#3:Exp, n(b, #2:Fresh))), inst(#3:Exp), -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(exp(#3:Exp, n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), -(e(exp(#3:Exp, n(b, #2:Fresh)), sec(a, #1:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 > ( :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: nil :: [ nil | -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] ) || sec(a, #1:Fresh) !inI, e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh)) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), irr(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), inst(#3:Gen), inst(#4:NeNonceSet) || -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))) || ghost( #0:Key, :: nil :: [ nil | -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), nil] & :: nil :: [ nil | -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil] , sec(a, #1:Fresh) !inI, e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh)) !inI, e(#0:Key, sec(a, #1:Fresh)) inI, exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), irr(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), inst(#3:Gen), inst(#4:NeNonceSet), -(#0:Key), -(e(#0:Key, sec(a, #1:Fresh))), +(sec(a, #1:Fresh)), -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #1:Fresh)), +(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), -(e(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)), sec(a, #1:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 10 > ( :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] ) || e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, sec(a, #3:Fresh) inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] , e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, sec(a, #3:Fresh) inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 11 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, sec(a, #4:Fresh) inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, sec(a, #4:Fresh) inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 5 . 0 > ( :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #2:Fresh))), -(a ; #4:Name ; exp(#1:Gen, n(b, #0:Fresh))), +(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))) | nil] ) || sec(a, #3:Fresh) !inI, e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh)) inI, exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)) inI, irr(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), inst(#1:Gen) || resuscitated(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))) || nil || nil) < (1 [2]) . (1 {2}) . 6 . 0 > ( :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #3:Fresh))), -(a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))) | nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))) || nil || nil ========================================== reduce in MAUDE-NPA : run(1, 3) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< (1 [1]) . (5 [2]) . 3 . 7 > ( :: nil :: [ nil | -(#4:Key), -(e(#4:Key, sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] ) || sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, e(#4:Key, sec(a, #3:Fresh)) inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#4:Key), -(e(#4:Key, sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(#4:Key), -(e(#4:Key, sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, e(#4:Key, sec(a, #3:Fresh)) inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#4:Key), -(e(#4:Key, sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ), ghost( #4:Key, :: nil :: [ nil | -(#4:Key), -(e(#4:Key, sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(#4:Key, sec(a, #3:Fresh)) inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), -(#4:Key), -(e(#4:Key, sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 14 > ( :: nil :: [ nil | -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, e(#5:Key, sec(a, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, e(#5:Key, sec(a, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( #5:Key, :: nil :: [ nil | -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(#5:Key, sec(a, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet * #3:NeNonceSet), -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 10 . 7 > ( :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, sec(a, #4:Fresh) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, sec(a, #4:Fresh) inI, exp(#1:Gen, n(b, #2:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . 0 > ( :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))), -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))) | nil] ) || sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh)) inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Exp, n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), inst(#1:Exp) || resuscitated(exp(#5:Exp, n(a, #3:Fresh))), -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))) || nil || nil) (< (1 [1]) . (4 [2]) . 3 . 13 . 0 > ( :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))) | nil] ) || sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), inst(#1:Exp) || resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))) || nil || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . 0 > ( :: nil :: [ nil | -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))), -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))) | nil] ) || sec(a, #3:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh)) inI, exp(#6:Exp, n(a, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || resuscitated(exp(#6:Exp, n(a, #4:Fresh))), -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))) || nil || nil) (< (1 [1]) . (5 [2]) . 3 . 17 . 0 > ( :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))) | nil] ) || sec(a, #3:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 5 . 0 . 2 > ( :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #4:Name ; exp(#1:Gen, n(b, #0:Fresh))), +(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] ) || sec(a, #3:Fresh) !inI, e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)) inI, (a ; #4:Name ; exp(#1:Gen, n(b, #0:Fresh))) inI, irr(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), inst(#1:Gen) || -(a ; #4:Name ; exp(#1:Gen, n(b, #0:Fresh))), +(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 > ( :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) inI, (a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || -(a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 22 > ( :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) | nil] ) || sec(a, #4:Fresh) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) | nil] , sec(a, #4:Fresh) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) < (1 [2]) . (1 {2}) . 6 . 0 . 23 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) | nil] ) || sec(a, #5:Fresh) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) | nil] , sec(a, #5:Fresh) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 4) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< (1 [1]) . (5 [2]) . 3 . 7 . 10 > ( :: nil :: [ nil | -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, e(#5:Key, sec(a, #4:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, e(#5:Key, sec(a, #4:Fresh)) inI, exp(#1:Gen, n(b, #2:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( #5:Key, :: nil :: [ nil | -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(#5:Key, sec(a, #4:Fresh)) inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet), -(#5:Key), -(e(#5:Key, sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 10 . 7 . 8 > ( :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, sec(a, #5:Fresh) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#2:Gen), inst(#4:NeNonceSet) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, sec(a, #5:Fresh) inI, exp(#2:Gen, n(b, #3:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#2:Gen), inst(#4:NeNonceSet), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [1]) . 2 > ( :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Exp, n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), irr(exp(#5:Exp, n(a, #3:Fresh))), inst(#1:Exp), inst(#5:Exp) || -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Exp, n(a, #3:Fresh))), -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; #5:Exp, :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Exp, n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), irr(exp(#5:Exp, n(a, #3:Fresh))), inst(#1:Exp), inst(#5:Exp), -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Exp, n(a, #3:Fresh))), -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 2 > ( :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#1:Exp), inst(#5:Gen), inst(#6:NeNonceSet) || -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet), :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#1:Exp), inst(#5:Gen), inst(#6:NeNonceSet), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 17 > ( :: nil :: [ nil | -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; #4:Exp), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))) | nil] ) || sec(a, #5:Fresh) !inI, e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh)) inI, exp(#4:Exp, n(b, #3:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh)) inI, irr(sec(a, #5:Fresh)), irr(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))), irr(exp(#4:Exp, n(b, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), inst(#4:Exp), inst(#0:Gen), inst(#2:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; #4:Exp), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))) | nil] , sec(a, #5:Fresh) !inI, e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh)) inI, exp(#4:Exp, n(b, #3:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh)) inI, irr(sec(a, #5:Fresh)), irr(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))), irr(exp(#4:Exp, n(b, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), inst(#4:Exp), inst(#0:Gen), inst(#2:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 22 > ( :: nil :: [ nil | -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; #5:Exp), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))) | nil] ) || sec(a, #6:Fresh) !inI, e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) inI, exp(#5:Exp, n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, irr(sec(a, #6:Fresh)), irr(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(exp(#5:Exp, n(b, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), inst(#5:Exp), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; #5:Exp), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))) | nil] , sec(a, #6:Fresh) !inI, e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) inI, exp(#5:Exp, n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, irr(sec(a, #6:Fresh)), irr(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(exp(#5:Exp, n(b, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), inst(#5:Exp), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [1]) . 2 > ( :: nil :: [ nil | -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || sec(a, #3:Fresh) !inI, e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, exp(#6:Exp, n(a, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) inI, irr(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(exp(#6:Exp, n(a, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), inst(#6:Exp), inst(#1:Gen), inst(#2:NeNonceSet) || -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Exp, n(a, #4:Fresh))), -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))) || ghost( a ; #5:Name ; #6:Exp, :: nil :: [ nil | -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, exp(#6:Exp, n(a, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) inI, irr(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(exp(#6:Exp, n(a, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), inst(#6:Exp), inst(#1:Gen), inst(#2:NeNonceSet), -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Exp, n(a, #4:Fresh))), -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 > ( :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || sec(a, #3:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#1:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) || -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))) || ghost( a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet), :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#1:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 19 > ( :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #1:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #1:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))) | nil] ) || sec(a, #6:Fresh) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh)) inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh)) inI, irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), inst(#4:Gen), inst(#0:Gen), inst(#2:NeNonceSet), inst(#5:NeNonceSet), exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) != exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) || -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #1:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #1:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))) | nil] , sec(a, #6:Fresh) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh)) inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh)) inI, irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), inst(#4:Gen), inst(#0:Gen), inst(#2:NeNonceSet), inst(#5:NeNonceSet), exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) != exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 24 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))) | nil] ) || sec(a, #7:Fresh) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))) | nil] , sec(a, #7:Fresh) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 5 . 0 . 2 . 4 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))) !inI, exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)) inI, (#0:Name ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#1:Gen) || -(a), -(#0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), -(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)) inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 20 > ( :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) < (1 [2]) . (1 {2}) . 6 . 0 . 2 . 21 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 5) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< (1 [1]) . (5 [2]) . 3 . 7 . 10 . 11 > ( :: nil :: [ nil | -(#6:Key), -(e(#6:Key, sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, e(#6:Key, sec(a, #5:Fresh)) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#2:Gen), inst(#4:NeNonceSet) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Key), -(e(#6:Key, sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(#6:Key), -(e(#6:Key, sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, e(#6:Key, sec(a, #5:Fresh)) inI, exp(#2:Gen, n(b, #3:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#2:Gen), inst(#4:NeNonceSet), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Key), -(e(#6:Key, sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #6:Key, :: nil :: [ nil | -(#6:Key), -(e(#6:Key, sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(#6:Key, sec(a, #5:Fresh)) inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#2:Gen), inst(#4:NeNonceSet), -(#6:Key), -(e(#6:Key, sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 10 . 7 . 8 . 1 > ( :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, sec(a, #2:Fresh) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), inst(#1:NeNonceSet) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || nil || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 17 . 2 > ( :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #6:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) !inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Gen, n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#1:Exp), inst(#5:Gen), inst(#6:NeNonceSet) || generatedByIntruder(#6:NeNonceSet), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet), :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) !inI, exp(#1:Exp, n(b, #0:Fresh)) inI, exp(#5:Gen, n(a, #3:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#1:Exp), inst(#5:Gen), inst(#6:NeNonceSet), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 17 . 16 > ( :: nil :: [ nil | -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; #4:Exp), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))), -(a ; #6:Name ; exp(#1:Gen, #7:NeNonceSet)), +(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))) | nil] ) || sec(a, #5:Fresh) !inI, e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, n(a, #2:Fresh)) !inI, exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh)) inI, exp(#4:Exp, n(b, #3:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))) inI, irr(sec(a, #5:Fresh)), irr(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#4:Exp, n(b, #3:Fresh))), irr(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), inst(#4:Exp), inst(#1:Gen), inst(#7:NeNonceSet) || -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #7:NeNonceSet, :: nil :: [ nil | -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; #4:Exp), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))), -(a ; #6:Name ; exp(#1:Gen, #7:NeNonceSet)), +(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))) | nil] , sec(a, #5:Fresh) !inI, e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh)) inI, exp(#4:Exp, n(b, #3:Fresh)) inI, exp(#1:Gen, n(a, #2:Fresh)) inI, irr(sec(a, #5:Fresh)), irr(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#4:Exp, n(b, #3:Fresh))), irr(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), inst(#4:Exp), inst(#1:Gen), inst(#7:NeNonceSet), -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . (2 {1}) . 15 > ( :: nil :: [ nil | -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; #5:Exp), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), nil] ) || #3:NeNonceSet !inI, sec(a, #6:Fresh) !inI, e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#5:Exp, n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, irr(sec(a, #6:Fresh)), irr(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(exp(#5:Exp, n(b, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), inst(#5:Exp), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet) || generatedByIntruder(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet), :: nil :: [ nil | -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; #5:Exp), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) !inI, exp(#5:Exp, n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, irr(sec(a, #6:Fresh)), irr(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(exp(#5:Exp, n(b, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), inst(#5:Exp), inst(#0:Gen), inst(#1:NeNonceSet * #3:NeNonceSet), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [1]) . (2 {1}) . 12 > ( :: nil :: [ nil | -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || sec(a, #3:Fresh) !inI, e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Exp, n(a, #4:Fresh)) inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#6:Exp, n(a, #4:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#6:Exp), inst(#0:Gen), inst(#2:NeNonceSet) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Exp, n(a, #4:Fresh))), -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Exp, n(a, #4:Fresh)) inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#6:Exp, n(a, #4:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#6:Exp), inst(#0:Gen), inst(#2:NeNonceSet), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Exp, n(a, #4:Fresh))), -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ), ghost( a ; #5:Name ; #6:Exp, :: nil :: [ nil | -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(#6:Exp, n(a, #4:Fresh)) inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) inI, irr(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(#6:Exp, n(a, #4:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#6:Exp), inst(#0:Gen), inst(#2:NeNonceSet), -(a ; #5:Name ; #6:Exp), +(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Exp, n(a, #4:Fresh))), -(exp(#6:Exp, n(a, #4:Fresh))), -(e(exp(#6:Exp, n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [1]) . (2 {1}) . 15 > ( :: nil :: [ nil | -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Exp, n(a, #5:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#7:Exp, n(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#7:Exp), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Exp, n(a, #5:Fresh))), -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Exp, n(a, #5:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#7:Exp, n(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#7:Exp), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Exp, n(a, #5:Fresh))), -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; #7:Exp, :: nil :: [ nil | -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#7:Exp, n(a, #5:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#7:Exp, n(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#7:Exp), inst(#0:Gen), inst(#1:NeNonceSet * #3:NeNonceSet), -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Exp, n(a, #5:Fresh))), -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 > ( :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #1:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), nil] ) || #2:NeNonceSet !inI, sec(a, #6:Fresh) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) !inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh)) inI, irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), inst(#4:Gen), inst(#0:Gen), inst(#2:NeNonceSet), inst(#5:NeNonceSet), exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) != exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) || generatedByIntruder(#2:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))) || ghost( a ; #7:Name ; exp(#0:Gen, #2:NeNonceSet), :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #1:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh)) !inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)) inI, irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), inst(#4:Gen), inst(#0:Gen), inst(#2:NeNonceSet), inst(#5:NeNonceSet), exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) != exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), -(a ; #7:Name ; exp(#0:Gen, #2:NeNonceSet)), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #1:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 > ( :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ), ghost( a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 17 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] ) || #3:NeNonceSet !inI, sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) || generatedByIntruder(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))) || ghost( a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 19 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#8:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 19 . 12 > ( :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh))), -(#8:NeNonceSet), +(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))), -(a ; #7:Name ; exp(#1:Gen, #8:NeNonceSet)), +(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))) | nil] ) || sec(a, #6:Fresh) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, n(a, #2:Fresh)) !inI, exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))) inI, irr(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), inst(#1:Gen), inst(#4:Gen), inst(#5:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) != exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) || -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), -(exp(#1:Gen, n(a, #2:Fresh))), -(#8:NeNonceSet), +(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))) || ghost( #8:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh))), -(#8:NeNonceSet), +(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))), -(a ; #7:Name ; exp(#1:Gen, #8:NeNonceSet)), +(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))) | nil] , sec(a, #6:Fresh) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) !inI, e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) inI, exp(#1:Gen, n(a, #2:Fresh)) inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, irr(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), inst(#1:Gen), inst(#4:Gen), inst(#5:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) != exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), -(exp(#1:Gen, n(a, #2:Fresh))), -(#8:NeNonceSet), +(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {2}) . 2 > ( :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(#5:NeNonceSet), +(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #4:Name ; exp(#1:Gen, #5:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] ) || sec(a, #3:Fresh) !inI, e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)) !inI, exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)) inI, (a ; #4:Name ; exp(#1:Gen, #5:NeNonceSet * n(b, #0:Fresh))) inI, irr(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), irr(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), inst(#1:Gen), inst(#5:NeNonceSet) || -(a ; #4:Name ; exp(#1:Gen, #5:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(#5:NeNonceSet), +(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), resuscitated(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))) || ghost( #5:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(#5:NeNonceSet), +(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #2:Fresh))), -(a ; #4:Name ; exp(#1:Gen, #5:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))) | nil] , sec(a, #3:Fresh) !inI, e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)) !inI, e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh)) inI, exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)) inI, exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)) inI, irr(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), irr(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#5:NeNonceSet), inst(n(a, #2:Fresh)), inst(n(b, #0:Fresh)), exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)) != exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(#5:NeNonceSet), +(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), resuscitated(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #5:NeNonceSet * n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, n(a, #2:Fresh) * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 > ( :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(#6:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) inI, (a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #0:Fresh))) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#6:NeNonceSet) || -(a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(#6:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))) || ghost( #6:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(#6:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #3:Fresh))), -(a ; #5:Name ; exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #0:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))) | nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#6:NeNonceSet), inst(#2:NeNonceSet * n(a, #3:Fresh)), inst(#2:NeNonceSet * n(b, #0:Fresh)), exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)) != exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(#6:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #0:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 5 . 0 . 2 . 4 . 5 > ( :: nil :: [ nil | -(a), -(#1:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(a ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Name ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #1:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, (a ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))) !inI, (#1:Name ; exp(#2:Gen, n(b, #3:Fresh))) !inI, exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, (#0:Msg ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#2:Gen) || -(#0:Msg ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Name ; exp(#2:Gen, n(b, #3:Fresh))), -(a), -(#1:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(a ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))), -(a ; #1:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 5 . 0 . 2 . 4 . 9 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Name), -(exp(#1:Gen, n(b, #2:Fresh))), +(#0:Name ; exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))) !inI, (#0:Name ; exp(#1:Gen, n(b, #2:Fresh))) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#1:Gen) || -(#0:Name), -(exp(#1:Gen, n(b, #2:Fresh))), +(#0:Name ; exp(#1:Gen, n(b, #2:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), -(a ; #0:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) !inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 14 > ( :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) < (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 20 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 6) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< (1 [1]) . (5 [2]) . 3 . 7 . 10 . 11 . 2 > ( :: nil :: [ nil | -(#3:Key), -(e(#3:Key, sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, e(#3:Key, sec(a, #2:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), inst(#1:NeNonceSet) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(#3:Key), -(e(#3:Key, sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( #3:Key, :: nil :: [ nil | -(#3:Key), -(e(#3:Key, sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(#3:Key, sec(a, #2:Fresh)) inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), inst(g), inst(#1:NeNonceSet), -(#3:Key), -(e(#3:Key, sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil) (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 17 . 2 . 10 > ( :: nil :: [ nil | -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; #4:Exp), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#1:Gen, #7:NeNonceSet)), +(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || #7:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, n(a, #2:Fresh)) !inI, exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#4:Exp, n(b, #3:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))) inI, irr(sec(a, #5:Fresh)), irr(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#4:Exp, n(b, #3:Fresh))), irr(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), inst(#4:Exp), inst(#1:Gen), inst(#7:NeNonceSet) || -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), generatedByIntruder(#7:NeNonceSet), -(a ; #6:Name ; exp(#1:Gen, #7:NeNonceSet)), +(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( a ; #6:Name ; exp(#1:Gen, #7:NeNonceSet), :: nil :: [ nil | -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; #4:Exp), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#1:Gen, #7:NeNonceSet)), +(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#4:Exp, n(b, #3:Fresh)) inI, exp(#1:Gen, n(a, #2:Fresh)) inI, irr(sec(a, #5:Fresh)), irr(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#4:Exp, n(b, #3:Fresh))), irr(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), inst(#4:Exp), inst(#1:Gen), inst(#7:NeNonceSet), -(a ; #6:Name ; exp(#1:Gen, #7:NeNonceSet)), +(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), -(exp(#1:Gen, n(a, #2:Fresh))), -(#7:NeNonceSet), +(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), resuscitated(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #7:NeNonceSet * n(a, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#4:Exp, n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#4:Exp, n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [1]) . (2 {1}) . 12 . 11 > ( :: nil :: [ nil | -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Exp, n(a, #5:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#7:Exp, n(a, #5:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#7:Exp), inst(#1:Gen), inst(#3:NeNonceSet) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Exp, n(a, #5:Fresh))), -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Exp, n(a, #5:Fresh)) inI, exp(#1:Gen, n(b, #2:Fresh)) inI, irr(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#7:Exp, n(a, #5:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#7:Exp), inst(#1:Gen), inst(#3:NeNonceSet), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Exp, n(a, #5:Fresh))), -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; #7:Exp, :: nil :: [ nil | -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#7:Exp, n(a, #5:Fresh)) inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#7:Exp, n(a, #5:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#7:Exp), inst(#1:Gen), inst(#3:NeNonceSet), -(a ; #6:Name ; #7:Exp), +(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Exp, n(a, #5:Fresh))), -(exp(#7:Exp, n(a, #5:Fresh))), -(e(exp(#7:Exp, n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 > ( :: nil :: [ nil | -(exp(#1:Gen, n(a, #2:Fresh))), -(#8:NeNonceSet), +(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#1:Gen, #8:NeNonceSet)), +(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, n(a, #2:Fresh)) !inI, exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))) inI, irr(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), inst(#1:Gen), inst(#4:Gen), inst(#5:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) != exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) || -(#0:Msg ; exp(#1:Gen, n(a, #2:Fresh))), +(exp(#1:Gen, n(a, #2:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#1:Gen, n(a, #2:Fresh))), -(#8:NeNonceSet), +(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(a ; #7:Name ; exp(#1:Gen, #8:NeNonceSet)), +(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))) || ghost( a ; #7:Name ; exp(#1:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#4:Gen, #5:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#1:Gen, #8:NeNonceSet)), +(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) inI, exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, irr(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), irr(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), inst(#1:Gen), inst(#4:Gen), inst(#5:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)) != exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), -(a ; #7:Name ; exp(#1:Gen, #8:NeNonceSet)), +(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#1:Gen, #8:NeNonceSet * n(a, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#4:Gen, #5:NeNonceSet * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 14 > ( :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || #7:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, exp(#6:Gen, n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , #7:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, exp(#6:Gen, n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ), ghost( a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 15 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#8:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 . 9 > ( :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 . 15 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] ) || #3:NeNonceSet !inI, sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) || generatedByIntruder(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))) || ghost( #6:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ), ghost( a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . (17 {1}) . 19 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), inst(#9:NeNonceSet),( exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh))), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), inst(#9:NeNonceSet),( exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh))), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, #9:NeNonceSet * n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet * #3:NeNonceSet), inst(#8:NeNonceSet * #9:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * #9:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {2}) . 2 . 3 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #4:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) | nil] , sec(a, #5:Fresh) !inI, e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) inI, exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#2:NeNonceSet), inst(n(a, #4:Fresh)), inst(n(b, #3:Fresh)), exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) != exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 3 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#3:NeNonceSet) || -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) | nil] , sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#3:NeNonceSet), inst(#2:NeNonceSet * n(a, #5:Fresh)), inst(#2:NeNonceSet * n(b, #4:Fresh)), exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) != exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 20 > ( :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), inst(#6:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), inst(#6:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( #6:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) | nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#0:Gen), inst(#6:NeNonceSet), inst(#3:NeNonceSet * n(a, #1:Fresh)), inst(#3:NeNonceSet * n(b, #2:Fresh)), exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) != exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 21 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#7:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#7:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #7:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) | nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#0:Gen), inst(#7:NeNonceSet), inst(#1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh)), inst(#1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)), exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) != exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 5 . 0 . 2 . 4 . 9 . 9 > ( :: nil :: [ nil | -(a), -(#5:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(a ; #5:Name ; exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#5:Name), -(exp(#1:Gen, n(b, #2:Fresh))), +(#5:Name ; exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #5:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#1:Gen, n(b, #2:Fresh))) !inI, (#5:Name ; exp(#1:Gen, n(b, #2:Fresh))) !inI, exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#1:Gen) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(#5:Name), -(exp(#1:Gen, n(b, #2:Fresh))), +(#5:Name ; exp(#1:Gen, n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(a ; #5:Name ; exp(#1:Gen, n(b, #2:Fresh))), -(a ; #5:Name ; exp(#1:Gen, n(b, #2:Fresh))), +(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#1:Gen, n(a, #3:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 9 > ( :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(#5:Name), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))) !inI, (#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#5:Name), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(#5:Name), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))) !inI, (#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#5:Name), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), +(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #2:NeNonceSet * n(a, #3:Fresh) * n(b, #1:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 12 > ( :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 23 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ) || nil) < (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . (19 {3}) . 15 . 0 > ( :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet) || resuscitated(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || nil || nil ========================================== reduce in MAUDE-NPA : run(1, 7) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 17 . 2 . 10 . 12 > ( :: nil :: [ nil | -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(a, #3:Fresh))), -(#8:NeNonceSet), +(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(exp(#2:Gen, n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; #5:Exp), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#2:Gen, #8:NeNonceSet)), +(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #6:Fresh) !inI, e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#2:Gen, n(a, #3:Fresh)) !inI, exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))) !inI, exp(#5:Exp, n(b, #4:Fresh)) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(a, #3:Fresh))) inI, irr(sec(a, #6:Fresh)), irr(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#5:Exp, n(b, #4:Fresh))), irr(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), inst(#5:Exp), inst(#2:Gen), inst(#8:NeNonceSet) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(exp(#2:Gen, n(a, #3:Fresh))), generatedByIntruder(#8:NeNonceSet), -(a ; #7:Name ; exp(#2:Gen, #8:NeNonceSet)), +(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), -(exp(#2:Gen, n(a, #3:Fresh))), -(#8:NeNonceSet), +(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), resuscitated(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), -(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( a ; #7:Name ; exp(#2:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(a, #3:Fresh))), -(#8:NeNonceSet), +(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; #5:Exp), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#2:Gen, #8:NeNonceSet)), +(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)) !inI, exp(#5:Exp, n(b, #4:Fresh)) inI, exp(#2:Gen, n(a, #3:Fresh)) inI, irr(sec(a, #6:Fresh)), irr(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#5:Exp, n(b, #4:Fresh))), irr(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), inst(#5:Exp), inst(#2:Gen), inst(#8:NeNonceSet), -(a ; #7:Name ; exp(#2:Gen, #8:NeNonceSet)), +(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), -(exp(#2:Gen, n(a, #3:Fresh))), -(#8:NeNonceSet), +(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), resuscitated(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), -(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #8:NeNonceSet * n(a, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#5:Exp, n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#5:Exp, n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [1]) . (2 {1}) . 12 . 11 . 12 > ( :: nil :: [ nil | -(exp(#8:Exp, n(a, #6:Fresh))), -(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; #8:Exp), +(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, exp(#8:Exp, n(a, #6:Fresh)) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#8:Exp, n(a, #6:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#8:Exp), inst(#2:Gen), inst(#4:NeNonceSet) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; #8:Exp), +(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Exp, n(a, #6:Fresh))), -(exp(#8:Exp, n(a, #6:Fresh))), -(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#8:Exp, n(a, #6:Fresh))), -(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; #8:Exp), +(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#8:Exp, n(a, #6:Fresh)) inI, exp(#2:Gen, n(b, #3:Fresh)) inI, irr(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#8:Exp, n(a, #6:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#8:Exp), inst(#2:Gen), inst(#4:NeNonceSet), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; #8:Exp), +(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Exp, n(a, #6:Fresh))), -(exp(#8:Exp, n(a, #6:Fresh))), -(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( a ; #7:Name ; #8:Exp, :: nil :: [ nil | -(exp(#8:Exp, n(a, #6:Fresh))), -(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; #8:Exp), +(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#8:Exp, n(a, #6:Fresh)) inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, irr(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#8:Exp, n(a, #6:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#8:Exp), inst(#2:Gen), inst(#4:NeNonceSet), -(a ; #7:Name ; #8:Exp), +(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Exp, n(a, #6:Fresh))), -(exp(#8:Exp, n(a, #6:Fresh))), -(e(exp(#8:Exp, n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 > ( :: nil :: [ nil | -(exp(#2:Gen, n(a, #3:Fresh))), -(#9:NeNonceSet), +(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(exp(#2:Gen, n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #8:Name ; exp(#2:Gen, #9:NeNonceSet)), +(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), nil] ) || #9:NeNonceSet !inI, sec(a, #7:Fresh) !inI, e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#2:Gen, n(a, #3:Fresh)) !inI, exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))) !inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(a, #3:Fresh))) inI, irr(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#2:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(a, #3:Fresh))), +(exp(#2:Gen, n(a, #3:Fresh))), generatedByIntruder(#9:NeNonceSet), -(exp(#2:Gen, n(a, #3:Fresh))), -(#9:NeNonceSet), +(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), -(a ; #8:Name ; exp(#2:Gen, #9:NeNonceSet)), +(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), -(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))) || ghost( a ; #8:Name ; exp(#2:Gen, #9:NeNonceSet), :: nil :: [ nil | -(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #8:Name ; exp(#2:Gen, #9:NeNonceSet)), +(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#2:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(a ; #8:Name ; exp(#2:Gen, #9:NeNonceSet)), +(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), -(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#2:Gen, #9:NeNonceSet * n(a, #3:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 14 > ( :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || #7:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Gen, n(a, #4:Fresh)) !inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, (#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , #7:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Gen, n(a, #4:Fresh)) !inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, (#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ), ghost( a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 15 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#8:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 14 . 10 > ( :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, exp(#7:Gen, n(a, #5:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 . 9 . 11 > ( :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet), :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 . 9 . 15 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), +(exp(#5:Gen, n(b, #4:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] ) || #3:NeNonceSet !inI, sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#5:Gen, n(b, #4:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, (#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) || generatedByIntruder(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), +(exp(#5:Gen, n(b, #4:Fresh))), -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))) || ghost( #6:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ), ghost( a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {2}) . 2 . 3 . 9 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) !inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh)) inI, exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet) || -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #4:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) | nil] , sec(a, #5:Fresh) !inI, e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) inI, exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#2:NeNonceSet), inst(n(a, #4:Fresh)), inst(n(b, #3:Fresh)), exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) != exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#1:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 3 . 6 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) !inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#3:NeNonceSet) || -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) | nil] , sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#3:NeNonceSet), inst(#2:NeNonceSet * n(a, #5:Fresh)), inst(#2:NeNonceSet * n(b, #4:Fresh)), exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) != exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 3 . 14 > ( :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), inst(#6:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), inst(#6:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( #6:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) | nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#0:Gen), inst(#6:NeNonceSet), inst(#3:NeNonceSet * n(a, #1:Fresh)), inst(#3:NeNonceSet * n(b, #2:Fresh)), exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) != exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#6:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #6:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 3 . 20 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#7:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#7:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #7:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) | nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#0:Gen), inst(#7:NeNonceSet), inst(#1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh)), inst(#1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)), exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) != exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #7:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 5 . 0 . 2 . 4 . 9 . 9 . 14 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(a ; #6:Name ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#2:Gen, n(b, #3:Fresh))), +(#6:Name ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#2:Gen, n(b, #3:Fresh))) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, (#6:Name ; exp(#2:Gen, n(b, #3:Fresh))) !inI, exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#2:Gen) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(#6:Name), -(exp(#2:Gen, n(b, #3:Fresh))), +(#6:Name ; exp(#2:Gen, n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(a ; #6:Name ; exp(#2:Gen, n(b, #3:Fresh))), -(a ; #6:Name ; exp(#2:Gen, n(b, #3:Fresh))), +(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh))), -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#2:Gen, n(a, #4:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || nil || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 9 . 10 > ( :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, #3:NeNonceSet inI, exp(#0:Gen, n(b, #2:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #1:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, n(b, #2:Fresh)) inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), inst(#0:Gen), inst(#3:NeNonceSet), -(exp(#0:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#5:Name), -(exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 9 . 16 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 9 . 20 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #1:NeNonceSet * #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet * #4:NeNonceSet), -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 9 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, #4:NeNonceSet inI, exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 10 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #1:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 20 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet * #3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet * #3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet * #3:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet * #3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet * #3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 38 > ( :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#2:NeNonceSet), inst(#5:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( #5:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#2:NeNonceSet), inst(#5:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ), ghost( #1:NeNonceSet * #5:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), inst(#1:NeNonceSet * #5:NeNonceSet), -(exp(#0:Gen, #2:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 39 > ( :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#2:NeNonceSet), inst(#5:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( #5:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#2:NeNonceSet), inst(#5:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ), ghost( #2:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), inst(#1:NeNonceSet * #5:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 45 > ( :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#5:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))) || ghost( #4:NeNonceSet * #5:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#5:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ), ghost( #1:NeNonceSet * #4:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#5:NeNonceSet), inst(#1:NeNonceSet * #4:NeNonceSet), -(exp(#0:Gen, #5:NeNonceSet * n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 46 > ( :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#5:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))) || ghost( #4:NeNonceSet * #5:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#5:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ), ghost( #5:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, (#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), inst(#0:Gen), inst(#5:NeNonceSet), inst(#1:NeNonceSet * #4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(#7:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a), -(#7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 50 > ( :: nil :: [ nil | -(a), -(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#8:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet * #6:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] ) || sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) !inI, (a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))) !inI, (#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#2:NeNonceSet), inst(#5:NeNonceSet), inst(#6:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet * #6:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#8:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(a), -(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))) || ghost( #5:NeNonceSet * #6:NeNonceSet, :: nil :: [ nil | -(a), -(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#8:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet * #6:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) !inI, (a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))) !inI, (#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#2:NeNonceSet), inst(#5:NeNonceSet), inst(#6:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(#5:NeNonceSet * #6:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#8:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(a), -(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ), ghost( #1:NeNonceSet * #5:NeNonceSet, :: nil :: [ nil | -(a), -(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#8:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #3:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh)) !inI, (a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))) !inI, (#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet * #5:NeNonceSet), inst(#2:NeNonceSet * #6:NeNonceSet), -(exp(#0:Gen, #2:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#1:NeNonceSet * #5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(#8:Name), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(a), -(#8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #2:NeNonceSet * #5:NeNonceSet * #6:NeNonceSet * n(a, #3:Fresh) * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . (17 {1}) . (19 {3}) . 15 . 0 > ( :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) != exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) || resuscitated(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * #7:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || nil || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . (19 {3}) . 15 . 0 . 3 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)) inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#4:NeNonceSet) || -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), resuscitated(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))) || nil || nil) < (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . (19 {3}) . 15 . 0 . 52 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 8) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< (1 [1]) . (4 [2]) . 3 . 12 . (0 {1} [2]) . 17 . 2 . 10 . 12 . 1 > ( :: nil :: [ nil | -(exp(g, n(a, #3:Fresh))), -(#5:NeNonceSet), +(exp(g, #5:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #5:NeNonceSet * n(a, #3:Fresh))), -(e(exp(g, #5:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(a ; #4:Name ; exp(g, n(a, #3:Fresh))), +(#4:Name ; exp(g, n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(#4:Name ; exp(g, n(a, #3:Fresh))), +(exp(g, n(a, #3:Fresh))), nil] & :: #0:Fresh :: [ nil, -(a ; b ; #1:Exp), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil | +(a ; #4:Name ; exp(g, n(a, #3:Fresh))), -(a ; #4:Name ; exp(g, #5:NeNonceSet)), +(e(exp(g, #5:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #5:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #5:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(a, #3:Fresh)) !inI, exp(g, #5:NeNonceSet * n(a, #3:Fresh)) !inI, (a ; #4:Name ; exp(g, #5:NeNonceSet)) !inI, (a ; #4:Name ; exp(g, n(a, #3:Fresh))) !inI, (#4:Name ; exp(g, n(a, #3:Fresh))) !inI, exp(#1:Exp, n(b, #0:Fresh)) inI, irr(sec(a, #2:Fresh)), irr(e(exp(g, #5:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #5:NeNonceSet * n(a, #3:Fresh))), irr(exp(#1:Exp, n(b, #0:Fresh))), inst(#1:Exp), inst(#5:NeNonceSet) || generatedByIntruder(a ; #4:Name ; exp(g, #5:NeNonceSet)), +(a ; #4:Name ; exp(g, n(a, #3:Fresh))), -(a ; #4:Name ; exp(g, n(a, #3:Fresh))), +(#4:Name ; exp(g, n(a, #3:Fresh))), -(#4:Name ; exp(g, n(a, #3:Fresh))), +(exp(g, n(a, #3:Fresh))), generatedByIntruder(#5:NeNonceSet), -(a ; #4:Name ; exp(g, #5:NeNonceSet)), +(e(exp(g, #5:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), -(exp(g, n(a, #3:Fresh))), -(#5:NeNonceSet), +(exp(g, #5:NeNonceSet * n(a, #3:Fresh))), resuscitated(exp(g, #5:NeNonceSet * n(a, #3:Fresh))), -(exp(g, #5:NeNonceSet * n(a, #3:Fresh))), -(e(exp(g, #5:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(#1:Exp, n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(#1:Exp, n(b, #0:Fresh)), sec(a, #2:Fresh))) || nil || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [1]) . (2 {1}) . 12 . 11 . 12 . 1 > ( :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, exp(#5:Exp, n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Exp, n(a, #3:Fresh))), inst(#5:Exp), inst(#1:NeNonceSet) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Exp, n(a, #3:Fresh))), -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; #5:Exp, :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) inI, exp(#5:Exp, n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Exp, n(a, #3:Fresh))), inst(g), inst(#5:Exp), inst(#1:NeNonceSet), -(a ; #4:Name ; #5:Exp), +(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Exp, n(a, #3:Fresh))), -(exp(#5:Exp, n(a, #3:Fresh))), -(e(exp(#5:Exp, n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 1 > ( :: nil :: [ nil | -(exp(g, n(a, #4:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #6:NeNonceSet * n(a, #4:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(a ; #5:Name ; exp(g, n(a, #4:Fresh))), +(#5:Name ; exp(g, n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#5:Name ; exp(g, n(a, #4:Fresh))), +(exp(g, n(a, #4:Fresh))), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil | +(a ; #5:Name ; exp(g, n(a, #4:Fresh))), -(a ; #5:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || #6:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(g, #6:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh)) !inI, exp(g, n(a, #4:Fresh)) !inI, exp(g, #6:NeNonceSet * n(a, #4:Fresh)) !inI, (a ; #5:Name ; exp(g, #6:NeNonceSet)) !inI, (a ; #5:Name ; exp(g, n(a, #4:Fresh))) !inI, (#5:Name ; exp(g, n(a, #4:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) inI, irr(e(exp(g, #6:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), irr(exp(g, #6:NeNonceSet * n(a, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#6:NeNonceSet), exp(g, #6:NeNonceSet * n(a, #4:Fresh)) != exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)) || generatedByIntruder(a ; #5:Name ; exp(g, #6:NeNonceSet)), +(a ; #5:Name ; exp(g, n(a, #4:Fresh))), -(a ; #5:Name ; exp(g, n(a, #4:Fresh))), +(#5:Name ; exp(g, n(a, #4:Fresh))), -(#5:Name ; exp(g, n(a, #4:Fresh))), +(exp(g, n(a, #4:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(g, n(a, #4:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #4:Fresh))), -(a ; #5:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(g, #6:NeNonceSet * n(a, #4:Fresh))), -(exp(g, #6:NeNonceSet * n(a, #4:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(b, #0:Fresh)), sec(a, #3:Fresh))) || nil || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 17 > ( :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#9:Msg ; #8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || #7:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Gen, n(a, #4:Fresh)) !inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) !inI, (#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, (#9:Msg ; #8:Msg ; exp(#6:Gen, n(a, #4:Fresh))) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#9:Msg ; #8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#9:Msg ; #8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , #7:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, exp(#6:Gen, n(a, #4:Fresh)) !inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) !inI, (#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, (#9:Msg ; #8:Msg ; exp(#6:Gen, n(a, #4:Fresh))) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(#9:Msg ; #8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), -(#8:Msg ; exp(#6:Gen, n(a, #4:Fresh))), +(exp(#6:Gen, n(a, #4:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(#6:Gen, n(a, #4:Fresh))), -(#7:NeNonceSet), +(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ), ghost( a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , sec(a, #3:Fresh) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) inI, exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)) inI, irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), irr(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), inst(#0:Gen), inst(#6:Gen), inst(#2:NeNonceSet), inst(#7:NeNonceSet), exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) != exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), -(a ; #5:Name ; exp(#6:Gen, #7:NeNonceSet)), +(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh))), -(e(exp(#6:Gen, #7:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 18 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, (#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, (#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#0:Gen), inst(#7:Gen), inst(#8:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 14 . 10 > ( :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 14 . 10 . 11 > ( :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] ) || #9:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, exp(#8:Gen, n(a, #6:Fresh)) inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), generatedByIntruder(#9:NeNonceSet), -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , #9:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) inI, exp(#8:Gen, n(a, #6:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), generatedByIntruder(#9:NeNonceSet), -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet), :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 . 9 . 11 . 1 > ( :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet), :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(g), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 . 9 . 11 . 18 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), +(exp(#5:Gen, n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#10:Msg ; #9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), +(#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] ) || #3:NeNonceSet !inI, sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, exp(#5:Gen, n(b, #4:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) !inI, (#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, (#10:Msg ; #9:Msg ; exp(#5:Gen, n(b, #4:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) || generatedByIntruder(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(#10:Msg ; #9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), +(#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), -(#9:Msg ; exp(#5:Gen, n(b, #4:Fresh))), +(exp(#5:Gen, n(b, #4:Fresh))), -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))) || ghost( #6:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(exp(#5:Gen, n(b, #4:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ), ghost( a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet), :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#5:Gen, #6:NeNonceSet)), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil] & :: #2:Fresh,#7:Fresh :: [ nil, +(a ; #8:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), inst(#0:Gen), inst(#5:Gen), inst(#6:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), -(a ; #8:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(b, #4:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 3 . 14 . 6 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #5:Fresh) * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) !inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#1:Gen, n(a, #5:Fresh) * n(b, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#3:NeNonceSet) || -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), -(exp(#1:Gen, n(a, #5:Fresh) * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #5:Fresh) * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) !inI, exp(#1:Gen, n(a, #5:Fresh) * n(b, #4:Fresh)) inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#3:NeNonceSet), -(exp(#1:Gen, n(a, #5:Fresh) * n(b, #4:Fresh))), -(#2:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ), ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #4:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #4:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #5:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(b, #4:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))) | nil] , sec(a, #6:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#3:NeNonceSet), inst(#2:NeNonceSet * n(a, #5:Fresh)), inst(#2:NeNonceSet * n(b, #4:Fresh)), exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)) != exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * n(a, #5:Fresh) * n(b, #4:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . (24 {3}) . 2 . 3 . 20 . 6 > ( :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#4:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: #5:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh))), +(a ; b ; exp(g, n(b, #5:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] ) || sec(a, #7:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))) !inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#4:NeNonceSet), inst(#3:NeNonceSet) || -(#0:Name), -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#4:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#4:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: #5:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh))), +(a ; b ; exp(g, n(b, #5:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] , sec(a, #7:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) !inI, (a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))) !inI, exp(#1:Gen, #2:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) inI, (#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), inst(#1:Gen), inst(#2:NeNonceSet), inst(#4:NeNonceSet), inst(#3:NeNonceSet), -(exp(#1:Gen, #2:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(a), -(#0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#4:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil ), ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#4:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), nil] & :: #5:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh))), +(a ; b ; exp(g, n(b, #5:Fresh))) | -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil] & :: #6:Fresh,#7:Fresh :: [ nil, +(a ; #0:Name ; exp(g, n(a, #6:Fresh))), -(a ; #0:Name ; exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh))), +(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))) | nil] , sec(a, #7:Fresh) !inI, e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh)) !inI, exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) !inI, e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) inI, exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) inI, irr(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), irr(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), irr(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), inst(#1:Gen), inst(#1:Gen), inst(#4:NeNonceSet), inst(#2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh)), inst(#2:NeNonceSet * #3:NeNonceSet * n(b, #5:Fresh)), exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)) != exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(#4:NeNonceSet), +(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), resuscitated(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #4:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), +(sec(a, #7:Fresh)), -(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh))), -(sec(a, #7:Fresh)), +(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), -(e(exp(#1:Gen, #2:NeNonceSet * #3:NeNonceSet * n(a, #6:Fresh) * n(b, #5:Fresh)), sec(a, #7:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 9 . 10 . 13 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, #3:NeNonceSet inI, exp(#1:Gen, n(a, #4:Fresh) * n(b, #2:Fresh)) inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(a, #4:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#1:Gen, #3:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 9 . 10 . 16 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), nil] & :: nil :: [ nil | -(exp(#3:Gen, n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, n(a, #4:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || #1:NeNonceSet !inI, #0:Key !inI, sec(a, #5:Fresh) !inI, e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#3:Gen, n(b, #2:Fresh)) inI, exp(#3:Gen, n(a, #4:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#3:Gen), inst(#1:NeNonceSet) || generatedByIntruder(#0:Key), -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), -(exp(#3:Gen, n(a, #4:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || ghost( e(#0:Key, #1:NeNonceSet), :: nil :: [ nil | -(a), -(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), nil] & :: nil :: [ nil | -(exp(#3:Gen, n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, n(a, #4:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , #1:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#3:Gen, n(b, #2:Fresh)) inI, exp(#3:Gen, n(a, #4:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#3:Gen), inst(#1:NeNonceSet), -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), -(exp(#3:Gen, n(a, #4:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #1:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #4:Fresh))) | -(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))) !inI, (#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#3:Gen, n(b, #2:Fresh)) inI, exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), inst(#3:Gen), inst(#1:NeNonceSet), -(exp(#3:Gen, n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#6:Name), -(exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(a), -(#6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#3:Gen, #1:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#3:Gen, #1:NeNonceSet * n(a, #4:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 9 . 16 . 16 > ( :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#7:Msg ; exp(#0:Gen, n(b, #3:Fresh))), +(exp(#0:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (#7:Msg ; exp(#0:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:Msg ; exp(#0:Gen, n(b, #3:Fresh))), +(exp(#0:Gen, n(b, #3:Fresh))), -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#7:Msg ; exp(#0:Gen, n(b, #3:Fresh))), +(exp(#0:Gen, n(b, #3:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (#7:Msg ; exp(#0:Gen, n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#7:Msg ; exp(#0:Gen, n(b, #3:Fresh))), +(exp(#0:Gen, n(b, #3:Fresh))), -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #1:NeNonceSet * #4:NeNonceSet, :: nil :: [ nil | -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, (#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) !inI, exp(#0:Gen, n(b, #3:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet * #4:NeNonceSet), -(exp(#0:Gen, n(b, #3:Fresh))), -(#1:NeNonceSet * #4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(#6:Name), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a), -(#6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [2]) . (1 {2}) . 6 . 0 . 2 . 3 . 6 . 24 . 9 . 28 > ( :: nil :: [ nil | -(a), -(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), nil] & :: nil :: [ nil | -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil] ) || #1:NeNonceSet !inI, #0:Key !inI, sec(a, #6:Fresh) !inI, e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)) !inI, (a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))) !inI, (#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, exp(#3:Gen, #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), inst(#3:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet) || generatedByIntruder(#0:Key), -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), -(exp(#3:Gen, #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(#7:Name), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(a), -(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))) || ghost( e(#0:Key, #1:NeNonceSet), :: nil :: [ nil | -(a), -(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), nil] & :: nil :: [ nil | -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil] , #1:NeNonceSet !inI, sec(a, #6:Fresh) !inI, e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)) !inI, (a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))) !inI, (#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, exp(#3:Gen, #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), inst(#3:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(#0:Key), -(e(#0:Key, #1:NeNonceSet)), +(#1:NeNonceSet), -(exp(#3:Gen, #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(#7:Name), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(a), -(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil ), ghost( #1:NeNonceSet, :: nil :: [ nil | -(a), -(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#7:Name), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh)) !inI, exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))) !inI, (#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))) !inI, exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh)) inI, exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)) inI, irr(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), inst(#3:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), -(exp(#3:Gen, #4:NeNonceSet * n(b, #2:Fresh))), -(#1:NeNonceSet), +(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(#7:Name), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(a), -(#7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), -(a ; #7:Name ; exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh))), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(e(exp(#3:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #5:Fresh) * n(b, #2:Fresh)), sec(a, #6:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . (19 {3}) . 15 . 0 . 52 . 20 > ( :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] ) || sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet) || -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, n(a, #1:Fresh) * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ), ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh))), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] & :: #1:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #1:Fresh))) | -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh)) !inI, exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) !inI, exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)) inI, (a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))) inI, irr(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), irr(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), irr(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), inst(#0:Gen), inst(#4:NeNonceSet), inst(#3:NeNonceSet), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), resuscitated(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(a ; #6:Name ; exp(#0:Gen, #3:NeNonceSet * n(b, #2:Fresh))), +(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(e(exp(#0:Gen, #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), -(e(exp(#0:Gen, #4:NeNonceSet * #3:NeNonceSet * n(a, #1:Fresh) * n(b, #2:Fresh)), sec(a, #5:Fresh))), nil ) || nil) < (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . (19 {3}) . 15 . 0 . 52 . 21 > ( :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] ) || sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#5:NeNonceSet) || -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#4:NeNonceSet), inst(#5:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ), ghost( #5:NeNonceSet, :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh))), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] & :: #2:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil] , sec(a, #6:Fresh) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)) inI, (a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))) inI, irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), inst(#0:Gen), inst(#5:NeNonceSet), inst(#1:NeNonceSet * #4:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(#5:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), resuscitated(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), -(a ; #7:Name ; exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(b, #3:Fresh))), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), +(sec(a, #6:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh))), -(sec(a, #6:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #4:NeNonceSet * #5:NeNonceSet * n(a, #2:Fresh) * n(b, #3:Fresh)), sec(a, #6:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 9) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystemSet: (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 1 . 6 > ( :: nil :: [ nil | -(exp(g, n(a, #4:Fresh))), -(#5:NeNonceSet), +(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(a ; #6:Name ; exp(g, n(a, #4:Fresh))), +(#6:Name ; exp(g, n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#6:Name ; exp(g, n(a, #4:Fresh))), +(exp(g, n(a, #4:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil | +(a ; #6:Name ; exp(g, n(a, #4:Fresh))), -(a ; #6:Name ; exp(g, #5:NeNonceSet)), +(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] ) || #5:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(g, n(a, #4:Fresh)) !inI, exp(g, #5:NeNonceSet * n(a, #4:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, (a ; #6:Name ; exp(g, #5:NeNonceSet)) !inI, (a ; #6:Name ; exp(g, n(a, #4:Fresh))) !inI, (#6:Name ; exp(g, n(a, #4:Fresh))) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), inst(#5:NeNonceSet), exp(g, #5:NeNonceSet * n(a, #4:Fresh)) != exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) || -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), generatedByIntruder(a ; #6:Name ; exp(g, #5:NeNonceSet)), +(a ; #6:Name ; exp(g, n(a, #4:Fresh))), -(a ; #6:Name ; exp(g, n(a, #4:Fresh))), +(#6:Name ; exp(g, n(a, #4:Fresh))), -(#6:Name ; exp(g, n(a, #4:Fresh))), +(exp(g, n(a, #4:Fresh))), generatedByIntruder(#5:NeNonceSet), -(exp(g, n(a, #4:Fresh))), -(#5:NeNonceSet), +(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(a ; #6:Name ; exp(g, #5:NeNonceSet)), +(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))) || ghost( #2:NeNonceSet, :: nil :: [ nil | -(exp(g, n(a, #4:Fresh))), -(#5:NeNonceSet), +(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: nil :: [ nil | -(a ; #6:Name ; exp(g, n(a, #4:Fresh))), +(#6:Name ; exp(g, n(a, #4:Fresh))), nil] & :: nil :: [ nil | -(#6:Name ; exp(g, n(a, #4:Fresh))), +(exp(g, n(a, #4:Fresh))), nil] & :: #1:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #2:NeNonceSet)), +(a ; b ; exp(g, n(b, #1:Fresh))) | -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil] & :: #4:Fresh,#3:Fresh :: [ nil | +(a ; #6:Name ; exp(g, n(a, #4:Fresh))), -(a ; #6:Name ; exp(g, #5:NeNonceSet)), +(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), nil] , #5:NeNonceSet !inI, sec(a, #3:Fresh) !inI, e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh)) !inI, e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh)) !inI, exp(g, n(a, #4:Fresh)) !inI, exp(g, #5:NeNonceSet * n(a, #4:Fresh)) !inI, exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)) !inI, (a ; #6:Name ; exp(g, #5:NeNonceSet)) !inI, (a ; #6:Name ; exp(g, n(a, #4:Fresh))) !inI, (#6:Name ; exp(g, n(a, #4:Fresh))) !inI, exp(#0:Gen, n(b, #1:Fresh)) inI, irr(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), irr(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), irr(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), irr(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), inst(#0:Gen), inst(#2:NeNonceSet), inst(#5:NeNonceSet), exp(g, #5:NeNonceSet * n(a, #4:Fresh)) != exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), -(exp(#0:Gen, n(b, #1:Fresh))), -(#2:NeNonceSet), +(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), generatedByIntruder(a ; #6:Name ; exp(g, #5:NeNonceSet)), +(a ; #6:Name ; exp(g, n(a, #4:Fresh))), -(a ; #6:Name ; exp(g, n(a, #4:Fresh))), +(#6:Name ; exp(g, n(a, #4:Fresh))), -(#6:Name ; exp(g, n(a, #4:Fresh))), +(exp(g, n(a, #4:Fresh))), generatedByIntruder(#5:NeNonceSet), -(exp(g, n(a, #4:Fresh))), -(#5:NeNonceSet), +(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(a ; #6:Name ; exp(g, #5:NeNonceSet)), +(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), resuscitated(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(exp(g, #5:NeNonceSet * n(a, #4:Fresh))), -(e(exp(g, #5:NeNonceSet * n(a, #4:Fresh)), sec(a, #3:Fresh))), +(sec(a, #3:Fresh)), -(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh))), -(sec(a, #3:Fresh)), +(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), -(e(exp(#0:Gen, #2:NeNonceSet * n(b, #1:Fresh)), sec(a, #3:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 1 . 9 > ( :: nil :: [ nil | -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil | +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #6:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(g, n(a, #5:Fresh)) !inI, exp(g, #6:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #7:Name ; exp(g, #6:NeNonceSet)) !inI, (a ; #7:Name ; exp(g, n(a, #5:Fresh))) !inI, (#7:Name ; exp(g, n(a, #5:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(g, #6:NeNonceSet * n(a, #5:Fresh)) != exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) || -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil | +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #6:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(g, n(a, #5:Fresh)) !inI, exp(g, #6:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #7:Name ; exp(g, #6:NeNonceSet)) !inI, (a ; #7:Name ; exp(g, n(a, #5:Fresh))) !inI, (#7:Name ; exp(g, n(a, #5:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh)) inI, irr(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(g, #6:NeNonceSet * n(a, #5:Fresh)) != exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 17 . 13 > ( :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) !inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, (#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #8:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, exp(#7:Gen, n(a, #5:Fresh)) !inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) !inI, (#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, (#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(#10:Msg ; #9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), -(#9:Msg ; exp(#7:Gen, n(a, #5:Fresh))), +(exp(#7:Gen, n(a, #5:Fresh))), generatedByIntruder(#8:NeNonceSet), -(exp(#7:Gen, n(a, #5:Fresh))), -(#8:NeNonceSet), +(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ), ghost( a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet), :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil, +(a ; #6:Name ; exp(g, n(a, #5:Fresh))) | -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) inI, exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)) inI, irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), irr(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), inst(#1:Gen), inst(#7:Gen), inst(#3:NeNonceSet), inst(#8:NeNonceSet), exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) != exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), -(a ; #6:Name ; exp(#7:Gen, #8:NeNonceSet)), +(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh))), -(e(exp(#7:Gen, #8:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 14 . 10 . 12 > ( :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] ) || #9:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#8:Gen, n(a, #6:Fresh)) !inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, (#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), generatedByIntruder(#9:NeNonceSet), -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , #9:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#8:Gen, n(a, #6:Fresh)) !inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) inI, (#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), generatedByIntruder(#9:NeNonceSet), -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet), :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 14 . 10 . 11 . 1 > ( :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, #6:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, exp(#5:Gen, n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet), :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(g), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil) < (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 16 . 9 . 11 . 1 . 9 > ( :: nil :: [ nil | -(exp(g, n(b, #6:Fresh))), -(#7:NeNonceSet), +(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #6:Fresh))), +(b ; exp(g, n(b, #6:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #6:Fresh))), +(exp(g, n(b, #6:Fresh))), nil] & :: #6:Fresh :: [ nil | -(a ; b ; exp(g, #7:NeNonceSet)), +(a ; b ; exp(g, n(b, #6:Fresh))), -(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), nil] ) || #3:NeNonceSet !inI, #7:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(g, n(b, #6:Fresh)) !inI, exp(g, #7:NeNonceSet * n(b, #6:Fresh)) !inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) !inI, (a ; b ; exp(g, #7:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #6:Fresh))) !inI, (b ; exp(g, n(b, #6:Fresh))) !inI, exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh)) inI, irr(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), inst(#0:Gen), inst(#1:NeNonceSet), inst(#3:NeNonceSet), inst(#7:NeNonceSet), exp(g, #7:NeNonceSet * n(b, #6:Fresh)) != exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) || generatedByIntruder(#3:NeNonceSet), -(exp(#0:Gen, #1:NeNonceSet * n(a, #2:Fresh))), -(#3:NeNonceSet), +(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), generatedByIntruder(#7:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #7:NeNonceSet)), -(a ; b ; exp(g, #7:NeNonceSet)), +(a ; b ; exp(g, n(b, #6:Fresh))), -(a ; b ; exp(g, n(b, #6:Fresh))), +(b ; exp(g, n(b, #6:Fresh))), -(b ; exp(g, n(b, #6:Fresh))), +(exp(g, n(b, #6:Fresh))), -(exp(g, n(b, #6:Fresh))), -(#7:NeNonceSet), +(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), -(a ; #5:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), -(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))) || ghost( a ; #5:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet), :: nil :: [ nil | -(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: #6:Fresh :: [ nil, -(a ; b ; exp(g, #7:NeNonceSet)), +(a ; b ; exp(g, n(b, #6:Fresh))) | -(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), nil] & :: #2:Fresh,#4:Fresh :: [ nil, +(a ; #5:Name ; exp(g, n(a, #2:Fresh))) | -(a ; #5:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), nil] , sec(a, #4:Fresh) !inI, e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(g, #7:NeNonceSet * n(b, #6:Fresh)) inI, exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)) inI, irr(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), irr(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), inst(g), inst(#0:Gen), inst(#7:NeNonceSet), inst(#1:NeNonceSet * #3:NeNonceSet), exp(g, #7:NeNonceSet * n(b, #6:Fresh)) != exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), -(a ; #5:Name ; exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet)), +(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh))), -(e(exp(#0:Gen, #1:NeNonceSet * #3:NeNonceSet * n(a, #2:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(g, #7:NeNonceSet * n(b, #6:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), -(e(exp(g, #7:NeNonceSet * n(b, #6:Fresh)), sec(a, #4:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 10) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 1 . 6 . 5 > ( :: nil :: [ nil | -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil | +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] ) || #6:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(g, n(a, #5:Fresh)) !inI, exp(g, #6:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#1:Gen, n(b, #2:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #7:Name ; exp(g, #6:NeNonceSet)) !inI, (a ; #7:Name ; exp(g, n(a, #5:Fresh))) !inI, (#7:Name ; exp(g, n(a, #5:Fresh))) !inI, (#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))) inI, irr(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(g, #6:NeNonceSet * n(a, #5:Fresh)) != exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) || -(#0:Msg ; exp(#1:Gen, n(b, #2:Fresh))), +(exp(#1:Gen, n(b, #2:Fresh))), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))) || ghost( #3:NeNonceSet, :: nil :: [ nil | -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), nil] & :: nil :: [ nil | -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: nil :: [ nil | -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), nil] & :: nil :: [ nil | -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), nil] & :: #2:Fresh :: [ nil, -(a ; b ; exp(#1:Gen, #3:NeNonceSet)), +(a ; b ; exp(g, n(b, #2:Fresh))) | -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil] & :: #4:Fresh,#5:Fresh :: [ nil | +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), nil] , #6:NeNonceSet !inI, sec(a, #4:Fresh) !inI, e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh)) !inI, e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh)) !inI, exp(g, n(a, #5:Fresh)) !inI, exp(g, #6:NeNonceSet * n(a, #5:Fresh)) !inI, exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)) !inI, (a ; #7:Name ; exp(g, #6:NeNonceSet)) !inI, (a ; #7:Name ; exp(g, n(a, #5:Fresh))) !inI, (#7:Name ; exp(g, n(a, #5:Fresh))) !inI, exp(#1:Gen, n(b, #2:Fresh)) inI, irr(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), irr(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), irr(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), irr(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), inst(#1:Gen), inst(#3:NeNonceSet), inst(#6:NeNonceSet), exp(g, #6:NeNonceSet * n(a, #5:Fresh)) != exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), -(exp(#1:Gen, n(b, #2:Fresh))), -(#3:NeNonceSet), +(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), generatedByIntruder(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(a ; #7:Name ; exp(g, n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, n(a, #5:Fresh))), +(#7:Name ; exp(g, n(a, #5:Fresh))), -(#7:Name ; exp(g, n(a, #5:Fresh))), +(exp(g, n(a, #5:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(g, n(a, #5:Fresh))), -(#6:NeNonceSet), +(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(a ; #7:Name ; exp(g, #6:NeNonceSet)), +(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), resuscitated(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(exp(g, #6:NeNonceSet * n(a, #5:Fresh))), -(e(exp(g, #6:NeNonceSet * n(a, #5:Fresh)), sec(a, #4:Fresh))), +(sec(a, #4:Fresh)), -(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh))), -(sec(a, #4:Fresh)), +(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), -(e(exp(#1:Gen, #3:NeNonceSet * n(b, #2:Fresh)), sec(a, #4:Fresh))), nil ) || nil) (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 17 . 13 . 15 > ( :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(#11:Msg ; #10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] ) || #9:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#8:Gen, n(a, #6:Fresh)) !inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, (#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))) !inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, (#11:Msg ; #10:Msg ; exp(#8:Gen, n(a, #6:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#11:Msg ; #10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), generatedByIntruder(#9:NeNonceSet), -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(#11:Msg ; #10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , #9:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, exp(#8:Gen, n(a, #6:Fresh)) !inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) !inI, (#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))) !inI, exp(#2:Gen, n(b, #3:Fresh)) inI, (#11:Msg ; #10:Msg ; exp(#8:Gen, n(a, #6:Fresh))) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(#11:Msg ; #10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), -(#10:Msg ; exp(#8:Gen, n(a, #6:Fresh))), +(exp(#8:Gen, n(a, #6:Fresh))), generatedByIntruder(#9:NeNonceSet), -(exp(#8:Gen, n(a, #6:Fresh))), -(#9:NeNonceSet), +(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ), ghost( a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet), :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil, +(a ; #7:Name ; exp(g, n(a, #6:Fresh))) | -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , sec(a, #5:Fresh) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) inI, exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)) inI, irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), irr(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), inst(#2:Gen), inst(#8:Gen), inst(#4:NeNonceSet), inst(#9:NeNonceSet), exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) != exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), -(a ; #7:Name ; exp(#8:Gen, #9:NeNonceSet)), +(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh))), -(e(exp(#8:Gen, #9:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) < (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 14 . 10 . 12 . 1 > ( :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), +(exp(#5:Gen, n(a, #3:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, #6:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, exp(#5:Gen, n(a, #3:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, (#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), +(exp(#5:Gen, n(a, #3:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet), :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(g), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 11) . rewrites: 18 in 0ms cpu (0ms real) (18000000 rewrites/second) result IdSystemSet: (< (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 1 . 6 . 5 . 6 > ( :: nil :: [ nil | -(exp(g, n(a, #6:Fresh))), -(#7:NeNonceSet), +(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(a ; #8:Name ; exp(g, n(a, #6:Fresh))), +(#8:Name ; exp(g, n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(#8:Name ; exp(g, n(a, #6:Fresh))), +(exp(g, n(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil | +(a ; #8:Name ; exp(g, n(a, #6:Fresh))), -(a ; #8:Name ; exp(g, #7:NeNonceSet)), +(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] ) || #7:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(g, n(a, #6:Fresh)) !inI, exp(g, #7:NeNonceSet * n(a, #6:Fresh)) !inI, exp(#2:Gen, n(b, #3:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #8:Name ; exp(g, #7:NeNonceSet)) !inI, (a ; #8:Name ; exp(g, n(a, #6:Fresh))) !inI, (#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) !inI, (#8:Name ; exp(g, n(a, #6:Fresh))) !inI, (#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))) inI, irr(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#2:Gen), inst(#4:NeNonceSet), inst(#7:NeNonceSet), exp(g, #7:NeNonceSet * n(a, #6:Fresh)) != exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) || -(#0:Msg ; #1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), -(#1:Msg ; exp(#2:Gen, n(b, #3:Fresh))), +(exp(#2:Gen, n(b, #3:Fresh))), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), generatedByIntruder(a ; #8:Name ; exp(g, #7:NeNonceSet)), +(a ; #8:Name ; exp(g, n(a, #6:Fresh))), -(a ; #8:Name ; exp(g, n(a, #6:Fresh))), +(#8:Name ; exp(g, n(a, #6:Fresh))), -(#8:Name ; exp(g, n(a, #6:Fresh))), +(exp(g, n(a, #6:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(g, n(a, #6:Fresh))), -(#7:NeNonceSet), +(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(a ; #8:Name ; exp(g, #7:NeNonceSet)), +(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))) || ghost( #4:NeNonceSet, :: nil :: [ nil | -(exp(g, n(a, #6:Fresh))), -(#7:NeNonceSet), +(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), nil] & :: nil :: [ nil | -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: nil :: [ nil | -(a ; #8:Name ; exp(g, n(a, #6:Fresh))), +(#8:Name ; exp(g, n(a, #6:Fresh))), nil] & :: nil :: [ nil | -(#8:Name ; exp(g, n(a, #6:Fresh))), +(exp(g, n(a, #6:Fresh))), nil] & :: #3:Fresh :: [ nil, -(a ; b ; exp(#2:Gen, #4:NeNonceSet)), +(a ; b ; exp(g, n(b, #3:Fresh))) | -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil] & :: #5:Fresh,#6:Fresh :: [ nil | +(a ; #8:Name ; exp(g, n(a, #6:Fresh))), -(a ; #8:Name ; exp(g, #7:NeNonceSet)), +(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), nil] , #7:NeNonceSet !inI, sec(a, #5:Fresh) !inI, e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh)) !inI, e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh)) !inI, exp(g, n(a, #6:Fresh)) !inI, exp(g, #7:NeNonceSet * n(a, #6:Fresh)) !inI, exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)) !inI, (a ; #8:Name ; exp(g, #7:NeNonceSet)) !inI, (a ; #8:Name ; exp(g, n(a, #6:Fresh))) !inI, (#8:Name ; exp(g, n(a, #6:Fresh))) !inI, exp(#2:Gen, n(b, #3:Fresh)) inI, irr(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), irr(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), irr(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), irr(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), inst(#2:Gen), inst(#4:NeNonceSet), inst(#7:NeNonceSet), exp(g, #7:NeNonceSet * n(a, #6:Fresh)) != exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), -(exp(#2:Gen, n(b, #3:Fresh))), -(#4:NeNonceSet), +(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), generatedByIntruder(a ; #8:Name ; exp(g, #7:NeNonceSet)), +(a ; #8:Name ; exp(g, n(a, #6:Fresh))), -(a ; #8:Name ; exp(g, n(a, #6:Fresh))), +(#8:Name ; exp(g, n(a, #6:Fresh))), -(#8:Name ; exp(g, n(a, #6:Fresh))), +(exp(g, n(a, #6:Fresh))), generatedByIntruder(#7:NeNonceSet), -(exp(g, n(a, #6:Fresh))), -(#7:NeNonceSet), +(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(a ; #8:Name ; exp(g, #7:NeNonceSet)), +(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), resuscitated(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(exp(g, #7:NeNonceSet * n(a, #6:Fresh))), -(e(exp(g, #7:NeNonceSet * n(a, #6:Fresh)), sec(a, #5:Fresh))), +(sec(a, #5:Fresh)), -(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh))), -(sec(a, #5:Fresh)), +(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), -(e(exp(#2:Gen, #4:NeNonceSet * n(b, #3:Fresh)), sec(a, #5:Fresh))), nil ) || nil) < (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 17 . 13 . 15 . 2 > ( :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), +(exp(#5:Gen, n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(#8:Msg ; #7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), +(#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, #6:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, exp(#5:Gen, n(a, #3:Fresh)) !inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, (#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))) !inI, (#8:Msg ; #7:Msg ; exp(#5:Gen, n(a, #3:Fresh))) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(#8:Msg ; #7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), +(#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), -(#7:Msg ; exp(#5:Gen, n(a, #3:Fresh))), +(exp(#5:Gen, n(a, #3:Fresh))), generatedByIntruder(#6:NeNonceSet), -(exp(#5:Gen, n(a, #3:Fresh))), -(#6:NeNonceSet), +(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || ghost( a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet), :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: #0:Fresh :: [ nil, -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))) | -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil, +(a ; #4:Name ; exp(g, n(a, #3:Fresh))) | -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] , sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) inI, exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)) inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), inst(g), inst(#5:Gen), inst(#1:NeNonceSet), inst(#6:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), -(a ; #4:Name ; exp(#5:Gen, #6:NeNonceSet)), +(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh))), -(e(exp(#5:Gen, #6:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil ) || nil ========================================== reduce in MAUDE-NPA : run(1, 12) . rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second) result IdSystem: < (1 [1]) . (5 [2]) . 3 . 16 . (0 {1} [2]) . 2 . 12 . 9 . 11 . 1 . 6 . 5 . 6 . 2 > ( :: nil :: [ nil | -(exp(g, n(a, #3:Fresh))), -(#4:NeNonceSet), +(exp(g, #4:NeNonceSet * n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: nil :: [ nil | -(exp(g, #4:NeNonceSet * n(a, #3:Fresh))), -(e(exp(g, #4:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), nil] & :: nil :: [ nil | -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(a ; #5:Name ; exp(g, n(a, #3:Fresh))), +(#5:Name ; exp(g, n(a, #3:Fresh))), nil] & :: nil :: [ nil | -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), nil] & :: nil :: [ nil | -(#5:Name ; exp(g, n(a, #3:Fresh))), +(exp(g, n(a, #3:Fresh))), nil] & :: #0:Fresh :: [ nil | -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), nil] & :: #2:Fresh,#3:Fresh :: [ nil | +(a ; #5:Name ; exp(g, n(a, #3:Fresh))), -(a ; #5:Name ; exp(g, #4:NeNonceSet)), +(e(exp(g, #4:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), nil] ) || #1:NeNonceSet !inI, #4:NeNonceSet !inI, sec(a, #2:Fresh) !inI, e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh)) !inI, e(exp(g, #4:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh)) !inI, exp(g, n(a, #3:Fresh)) !inI, exp(g, n(b, #0:Fresh)) !inI, exp(g, #1:NeNonceSet * n(b, #0:Fresh)) !inI, exp(g, #4:NeNonceSet * n(a, #3:Fresh)) !inI, (a ; b ; exp(g, #1:NeNonceSet)) !inI, (a ; b ; exp(g, n(b, #0:Fresh))) !inI, (a ; #5:Name ; exp(g, #4:NeNonceSet)) !inI, (a ; #5:Name ; exp(g, n(a, #3:Fresh))) !inI, (b ; exp(g, n(b, #0:Fresh))) !inI, (#5:Name ; exp(g, n(a, #3:Fresh))) !inI, irr(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), irr(e(exp(g, #4:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), irr(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), irr(exp(g, #4:NeNonceSet * n(a, #3:Fresh))), inst(#1:NeNonceSet), inst(#4:NeNonceSet), exp(g, #1:NeNonceSet * n(b, #0:Fresh)) != exp(g, #4:NeNonceSet * n(a, #3:Fresh)) || generatedByIntruder(#1:NeNonceSet), generatedByIntruder(a ; b ; exp(g, #1:NeNonceSet)), -(a ; b ; exp(g, #1:NeNonceSet)), +(a ; b ; exp(g, n(b, #0:Fresh))), -(a ; b ; exp(g, n(b, #0:Fresh))), +(b ; exp(g, n(b, #0:Fresh))), -(b ; exp(g, n(b, #0:Fresh))), +(exp(g, n(b, #0:Fresh))), -(exp(g, n(b, #0:Fresh))), -(#1:NeNonceSet), +(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), generatedByIntruder(a ; #5:Name ; exp(g, #4:NeNonceSet)), +(a ; #5:Name ; exp(g, n(a, #3:Fresh))), -(a ; #5:Name ; exp(g, n(a, #3:Fresh))), +(#5:Name ; exp(g, n(a, #3:Fresh))), -(#5:Name ; exp(g, n(a, #3:Fresh))), +(exp(g, n(a, #3:Fresh))), generatedByIntruder(#4:NeNonceSet), -(exp(g, n(a, #3:Fresh))), -(#4:NeNonceSet), +(exp(g, #4:NeNonceSet * n(a, #3:Fresh))), -(a ; #5:Name ; exp(g, #4:NeNonceSet)), +(e(exp(g, #4:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), resuscitated(exp(g, #4:NeNonceSet * n(a, #3:Fresh))), -(exp(g, #4:NeNonceSet * n(a, #3:Fresh))), -(e(exp(g, #4:NeNonceSet * n(a, #3:Fresh)), sec(a, #2:Fresh))), +(sec(a, #2:Fresh)), -(exp(g, #1:NeNonceSet * n(b, #0:Fresh))), -(sec(a, #2:Fresh)), +(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))), -(e(exp(g, #1:NeNonceSet * n(b, #0:Fresh)), sec(a, #2:Fresh))) || nil || nil Maude> Bye. Wed Dec 5 10:32:44 CET 2012 Santiagos-MacBook-Pro:prototype-20121204 sescobar$