Linear part:
Completing equations...
Completed equations:
Convergent part:
host(key(x_22)) = x_22
key(host(x_21)) = x_21
Completing equations...
Completed equations:
key(host(x_21)) = x_21
host(key(x_22)) = x_22
Completed destructors:
PtCredVerifyPtIDDr(zk((Ptr_261,PtID_262,PtNym_263,PtHII_264,PtSSS_265,PtAcc_266,rpt_267),(comt(PtID_262,Ptr_261),PtCred(PtID_262,PtNym_263,PtHII_264,PtSSS_265,PtAcc_266,rpt_267))),comt(PtID_262,Ptr_261),PtCred(PtID_262,PtNym_263,PtHII_264,PtSSS_265,PtAcc_266,rpt_267)) => true()
openChcomt(chcomt(m_271,r_272),fake(chcomt(m_271,r_272),m1_270)) => m1_270
openChcomt(chcomt(m_268,r_269),r_269) => m_268
getpubmsg(spk(x_274,y_273,z_275)) => y_273
getmessage(sign(x_276,y_277),pk(y_277)) => x_276
open(comt(x_278,y_279),y_279) => x_278
PtCredVerifyPh(zk((PtID_280,PtNym_281,PtHII_282,PtSSS_283,PtAcc_284,rpt_285),(PtCred(PtID_280,PtNym_281,PtHII_282,PtSSS_283,PtAcc_284,rpt_285),PtSSS_283)),PtCred(PtID_280,PtNym_281,PtHII_282,PtSSS_283,PtAcc_284,rpt_285),PtSSS_283) => true()
getmsg(spk(x_287,y_288,z_286)) => z_286
CheckReceptionAck(spk((PtID_289,PtNym_290,PtHII_291,PtSSS_292,PtAcc_293,rpt_294),PtCred(PtID_289,PtNym_290,PtHII_291,PtSSS_292,PtAcc_293,rpt_294),(xPrescID_295,xPharmID_296,vc1_297,vc2_298,vc3_299,vc31_300,vc4_301,c5_302)),PtCred(PtID_289,PtNym_290,PtHII_291,PtSSS_292,PtAcc_293,rpt_294),xPrescID_295,xPharmID_296,vc1_297,vc2_298,vc3_299,vc31_300,vc4_301,c5_302) => true()
DrCredVerify(zk((DrNym_303,DrID_304,rdr_305),DrCred(DrNym_303,DrID_304,rdr_305)),DrCred(DrNym_303,DrID_304,rdr_305)) => true()
checkAuth(sign(x_306,y_307),pk(y_307)) => true()
CheckSPKDrPtDrNym(spk((DrNym_308,Drr_309,DrID_310,rdr_311),(comt(DrNym_308,Drr_309),DrCred(DrNym_308,DrID_310,rdr_311)),(PrescText_312,PrescID_313,comt(DrNym_308,Drr_309),comt(PtID_314,Ptr_315))),DrCred(DrNym_308,DrID_310,rdr_311),PrescText_312,PrescID_313,comt(DrNym_308,Drr_309),comt(PtID_314,Ptr_315)) => true()
CheckVEncHii(zk((PtID_316,PtNym_317,PtHII_318,PtSSS_319,PtAcc_320,rpt_321,r_322),(PtCred(PtID_316,PtNym_317,PtHII_318,PtSSS_319,PtAcc_320,rpt_321),penc(PtHII_318,pubkey_323,r_322))),PtCred(PtID_316,PtNym_317,PtHII_318,PtSSS_319,PtAcc_320,rpt_321),penc(PtHII_318,pubkey_323,r_322),pubkey_323) => true()
CheckVEncPtnym(zk((PtID_324,PtNym_325,PtHII_326,PtSSS_327,PtAcc_328,rpt_329,r_330),(PtCred(PtID_324,PtNym_325,PtHII_326,PtSSS_327,PtAcc_328,rpt_329),penc(PtNym_325,pubkey_331,r_330))),PtCred(PtID_324,PtNym_325,PtHII_326,PtSSS_327,PtAcc_328,rpt_329),penc(PtNym_325,pubkey_331,r_330),pubkey_331) => true()
PtCredVerifyDr(zk((PtID_332,PtNym_333,PtHII_334,PtSSS_335,PtAcc_336,rpt_337),PtCred(PtID_332,PtNym_333,PtHII_334,PtSSS_335,PtAcc_336,rpt_337)),PtCred(PtID_332,PtNym_333,PtHII_334,PtSSS_335,PtAcc_336,rpt_337)) => true()
CheckVEncDrnymMpa(zk((DrNym_338,Drr_339,r_340),(spk((DrNym_338,Drr_339,DrID_341,rdr_342),(comt(DrNym_338,Drr_339),DrCred(DrNym_338,DrID_341,rdr_342)),(PrescText_343,PrescID_344,comt(DrNym_338,Drr_339),xPtComt_345)),penc(DrNym_338,pkMPA_346,r_340))),spk((DrNym_338,Drr_339,DrID_341,rdr_342),(comt(DrNym_338,Drr_339),DrCred(DrNym_338,DrID_341,rdr_342)),(PrescText_343,PrescID_344,comt(DrNym_338,Drr_339),xPtComt_345)),penc(DrNym_338,pkMPA_346,r_340),pkMPA_346) => true()
getpublic(zk(x_348,y_347)) => y_347
dec(penc(m_349,pk(sk_350),r_351),sk_350) => m_349
CheckSPKPhPtID(spk((PtID_352,PtNym_353,PtHII_354,PtSSS_355,PtAcc_356,Ptr_357,rpt_358),(PtCred(PtID_352,PtNym_353,PtHII_354,PtSSS_355,PtAcc_356,rpt_358),comt(PtID_352,Ptr_357)),nonce_359),PtCred(PtID_352,PtNym_353,PtHII_354,PtSSS_355,PtAcc_356,rpt_358),comt(PtID_352,Ptr_357),nonce_359) => true()
Process:
{1}new skSSO_105;
{2}new privchhiipt_106;
{3}new privchmpaph_107;
{4}new privchphpt_108;
{5}let pkSSO_109 = pk(skSSO_105) in
{6}out(ch, pkSSO_109);
{7}!
(
    {8}new nDrID_110;
    {9}let DrID_111 = nDrID_110 in
    {10}!
    {11}new nDrNym_112;
    {12}let DrNym_113 = nDrNym_112 in
    {13}new rdr_114;
    {14}out(ch, zk((DrNym_113,DrID_111,rdr_114),DrCred(DrNym_113,DrID_111,rdr_114)));
    {15}in(ch, (xPtAuthProof_115,xPtDrPtIDProof_116));
    {16}let xPtCred_117 = getpublic(xPtAuthProof_115) in
    {17}let (xPtComt_118,=xPtCred_117) = getpublic(xPtDrPtIDProof_116) in
    {18}if PtCredVerifyDr(xPtAuthProof_115,xPtCred_117) = true() then
    {19}if PtCredVerifyPtIDDr(xPtDrPtIDProof_116,xPtComt_118,xPtCred_117) = true() then
    {20}new PrescText_119;
    {21}new Drr_120;
    {22}let PrescID_121 = hash(PrescText_119,xPtComt_118,comt(DrNym_113,Drr_120)) in
    {23}out(ch, (spk((DrNym_113,Drr_120,DrID_111,rdr_114),(comt(DrNym_113,Drr_120),DrCred(DrNym_113,DrID_111,rdr_114)),(PrescText_119,PrescID_121,comt(DrNym_113,Drr_120),xPtComt_118)),Drr_120))
) | (
    {24}in(privchhiipt_106, PtHII_122);
    {25}let cpkHII_123 = key(PtHII_122) in
    {26}!
    {27}new nPtID_124;
    {28}new nPtNym_125;
    {29}new nPtAcc_126;
    {30}let PtID_127 = nPtID_124 in
    {31}let PtNym_128 = nPtNym_125 in
    {32}let PtAcc_129 = nPtAcc_126 in
    {33}!
    {34}new nPtSSS_130;
    {35}let PtSSS_131 = nPtSSS_130 in
    {36}in(privchphpt_108, cpkPh_132);
    {37}let cPharmID_133 = host(cpkPh_132) in
    {38}in(ch, xDrCredProof_134);
    {39}let xDrCred_135 = getpublic(xDrCredProof_134) in
    {40}if DrCredVerify(xDrCredProof_134,xDrCred_135) = true() then
    {41}new Ptr_136;
    {42}new rpt_137;
    {43}out(ch, (zk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137)),zk((Ptr_136,PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),(comt(PtID_127,Ptr_136),PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137)))));
    {44}in(ch, (xSPKDrPtDrNym_138,xDrr_139));
    {45}let (xPrescText_140,xPrescID_141,xDrComt_142,=comt(PtID_127,Ptr_136)) = getmsg(xSPKDrPtDrNym_138) in
    {46}if CheckSPKDrPtDrNym(xSPKDrPtDrNym_138,xDrCred_135,xPrescText_140,xPrescID_141,xDrComt_142,comt(PtID_127,Ptr_136)) = true() then
    {47}let xDrNym_143 = open(xDrComt_142,xDrr_139) in
    {48}in(ch, xPhAuth_144);
    {49}if checkAuth(xPhAuth_144,cpkPh_132) = true() then
    {50}let (=cPharmID_133,xMpaID_145) = getmessage(xPhAuth_144,cpkPh_132) in
    {51}let cpkMPA_146 = key(xMpaID_145) in
    {52}out(ch, zk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),(PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),PtSSS_131)));
    {53}new nonce_147;
    {54}new r_148;
    {55}let vc1_149 = zk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137,r_148),(PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),penc(PtHII_122,cpkMPA_146,r_148))) in
    {56}let vc2_150 = zk((xDrNym_143,xDrr_139,r_148),(xSPKDrPtDrNym_138,penc(xDrNym_143,cpkMPA_146,r_148))) in
    {57}let vc3_151 = zk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137,r_148),(PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),penc(PtNym_128,pkSSO_109,r_148))) in
    {58}let vc31_152 = zk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137,r_148),(PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),penc(PtHII_122,pkSSO_109,r_148))) in
    {59}let vc4_153 = zk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137,r_148),(PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),penc(PtNym_128,cpkMPA_146,r_148))) in
    {60}let vc5_154 = zk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137,r_148),(PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),penc(PtNym_128,cpkHII_123,r_148))) in
    {61}let c5_155 = penc(vc5_154,cpkMPA_146,r_148) in
    {62}out(ch, (xSPKDrPtDrNym_138,spk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,Ptr_136,rpt_137),(PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),comt(PtID_127,Ptr_136)),nonce_147),vc1_149,vc2_150,vc3_151,vc31_152,vc4_153,c5_155));
    {63}in(ch, xInvoice_156);
    {64}let ReceptionAck_157 = spk((PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),PtCred(PtID_127,PtNym_128,PtHII_122,PtSSS_131,PtAcc_129,rpt_137),(xPrescID_141,cPharmID_133,vc1_149,vc2_150,vc3_151,vc31_152,vc4_153,c5_155)) in
    {65}out(ch, ReceptionAck_157)
) | (
    {66}!
    (
        {67}new nskPh_158;
        {68}let skPh_159 = nskPh_158 in
        {69}let pkPh_160 = pk(skPh_159) in
        {70}let PharmID_161 = host(pkPh_160) in
        {71}!
        (
            {72}out(ch, pkPh_160)
        ) | (
            {73}!
            (
                {74}out(privchphpt_108, pkPh_160)
            ) | (
                {75}!
                {76}in(privchmpaph_107, dpkMPA_162);
                {77}let dMpaID_163 = host(dpkMPA_162) in
                {78}out(ch, sign((PharmID_161,dMpaID_163),skPh_159));
                {79}in(ch, xPhPtAuthProof_164);
                {80}let (xPhPtCred_165,xPhPtSSS_166) = getpublic(xPhPtAuthProof_164) in
                {81}if PtCredVerifyPh(xPhPtAuthProof_164,xPhPtCred_165,xPhPtSSS_166) = true() then
                {82}in(ch, (xPhSPKDrPtDrNym_167,xPtPhSPKPtID_168,xvc1_169,xvc2_170,xvc3_171,xvc31_172,xvc4_173,xc5_174));
                {83}let (xPhPrescText_175,xPhPrescID_176,xPhDrComt_177,xPhPtComt_178) = getmsg(xPhSPKDrPtDrNym_167) in
                {84}let (=xPhDrComt_177,xPhDrCred_179) = getpubmsg(xPhSPKDrPtDrNym_167) in
                {85}if CheckSPKDrPtDrNym(xPhSPKDrPtDrNym_167,xPhDrCred_179,xPhPrescText_175,xPhPrescID_176,xPhDrComt_177,xPhPtComt_178) = true() then
                {86}let xnonce_180 = getmsg(xPtPhSPKPtID_168) in
                {87}if CheckSPKPhPtID(xPtPhSPKPtID_168,xPhPtCred_165,xPhPtComt_178,xnonce_180) = true() then
                {88}let (=xPhPtCred_165,xEnc1_181) = getpublic(xvc1_169) in
                {89}if CheckVEncHii(xvc1_169,xPhPtCred_165,xEnc1_181,dpkMPA_162) = true() then
                {90}let (=xPhSPKDrPtDrNym_167,xEnc2_182) = getpublic(xvc2_170) in
                {91}if CheckVEncDrnymMpa(xvc2_170,xPhSPKDrPtDrNym_167,xEnc2_182,dpkMPA_162) = true() then
                {92}let (=xPhPtCred_165,xEnc3_183) = getpublic(xvc3_171) in
                {93}if CheckVEncPtnym(xvc3_171,xPhPtCred_165,xEnc3_183,pkSSO_109) = true() then
                {94}let (=xPhPtCred_165,xEnc31_184) = getpublic(xvc31_172) in
                {95}if CheckVEncHii(xvc31_172,xPhPtCred_165,xEnc31_184,pkSSO_109) = true() then
                {96}let (=xPhPtCred_165,xEnc4_185) = getpublic(xvc4_173) in
                {97}if CheckVEncPtnym(xvc4_173,xPhPtCred_165,xEnc4_185,dpkMPA_162) = true() then
                {98}out(ch, invoice(xPhPrescID_176));
                {99}in(ch, xReceptionAck_186);
                {100}if CheckReceptionAck(xReceptionAck_186,xPhPtCred_165,xPhPrescID_176,PharmID_161,xvc1_169,xvc2_170,xvc3_171,xvc31_172,xvc4_173,xc5_174) = true() then
                {101}out(ch, (sign((PharmID_161,dMpaID_163),skPh_159),PharmID_161));
                {102}in(ch, xMpaAuth_187);
                {103}if checkAuth(xMpaAuth_187,dpkMPA_162) = true() then
                {104}out(ch, (xPhSPKDrPtDrNym_167,xvc1_169,xvc2_170,xvc3_171,xvc31_172,xvc4_173,xc5_174,xReceptionAck_186))
            )
        )
    ) | (
        {105}!
        (
            {106}new nskMPA_188;
            {107}let skMPA_189 = nskMPA_188 in
            {108}let pkMPA_190 = pk(skMPA_189) in
            {109}let MpaID_191 = host(pkMPA_190) in
            {110}!
            (
                {111}out(ch, pkMPA_190)
            ) | (
                {112}!
                (
                    {113}out(privchmpaph_107, pkMPA_190)
                ) | (
                    {114}!
                    {115}in(ch, (xMpaPhAuth_192,xPharmID_193));
                    {116}let xpkPh_194 = key(xPharmID_193) in
                    {117}if checkAuth(xMpaPhAuth_192,xpkPh_194) = true() then
                    {118}let (=xPharmID_193,=MpaID_191) = getmessage(xMpaPhAuth_192,xpkPh_194) in
                    {119}out(ch, sign(MpaID_191,skMPA_189));
                    {120}in(ch, (xMpaSPKDrPtDrNym_195,xMpaVc1_196,xMpaVc2_197,xMpaVc3_198,xMpaVc31_199,xMpaVc4_200,xMpac5_201,xMpaReceptionAck_202));
                    {121}let (xMpaDrComt_203,xMpaDrCred_204) = getpubmsg(xMpaSPKDrPtDrNym_195) in
                    {122}let (xMpaPrescText_205,xMpaPrescID_206,=xMpaDrComt_203,xMpaPtComt_207) = getmsg(xMpaSPKDrPtDrNym_195) in
                    {123}if CheckSPKDrPtDrNym(xMpaSPKDrPtDrNym_195,xMpaDrCred_204,xMpaPrescText_205,xMpaPrescID_206,xMpaDrComt_203,xMpaPtComt_207) = true() then
                    {124}let (xMpaPtCred_208,xMpaEnc1_209) = getpublic(xMpaVc1_196) in
                    {125}if CheckVEncHii(xMpaVc1_196,xMpaPtCred_208,xMpaEnc1_209,pkMPA_190) = true() then
                    {126}let xMpaPthii_210 = dec(xMpaEnc1_209,skMPA_189) in
                    {127}let (=xMpaSPKDrPtDrNym_195,xMpaEnc2_211) = getpublic(xMpaVc2_197) in
                    {128}if CheckVEncDrnymMpa(xMpaVc2_197,xMpaSPKDrPtDrNym_195,xMpaEnc2_211,pkMPA_190) = true() then
                    {129}let xMpaDrnym_212 = dec(xMpaEnc2_211,skMPA_189) in
                    {130}let (=xMpaPtCred_208,xMpaEnc3_213) = getpublic(xMpaVc3_198) in
                    {131}if CheckVEncPtnym(xMpaVc3_198,xMpaPtCred_208,xMpaEnc3_213,pkSSO_109) = true() then
                    {132}let (=xMpaPtCred_208,xMpaEnc31_214) = getpublic(xMpaVc31_199) in
                    {133}if CheckVEncHii(xMpaVc31_199,xMpaPtCred_208,xMpaEnc31_214,pkSSO_109) = true() then
                    {134}let (=xMpaPtCred_208,xMpaEnc4_215) = getpublic(xMpaVc4_200) in
                    {135}if CheckVEncPtnym(xMpaVc4_200,xMpaPtCred_208,xMpaEnc4_215,pkMPA_190) = true() then
                    {136}let xMpaPtnym_216 = dec(xMpaEnc4_215,skMPA_189) in
                    {137}if CheckReceptionAck(xMpaReceptionAck_202,xMpaPtCred_208,xMpaPrescID_206,xPharmID_193,xMpaVc1_196,xMpaVc2_197,xMpaVc3_198,xMpaVc31_199,xMpaVc4_200,xMpac5_201) = true() then
                    {138}out(ch, (sign(MpaID_191,skMPA_189),MpaID_191));
                    {139}in(ch, xMpaHiiAuth_217);
                    {140}let mpkHII_218 = key(xMpaPthii_210) in
                    {141}if checkAuth(xMpaHiiAuth_217,mpkHII_218) = true() then
                    {142}if getmessage(xMpaHiiAuth_217,mpkHII_218) = xMpaPthii_210 then
                    {143}out(ch, (xMpaReceptionAck_202,dec(xMpac5_201,skMPA_189)));
                    {144}in(ch, xMpaInvoice_219)
                )
            )
        ) | (
            {145}!
            (
                {146}new nskHII_220;
                {147}let skHII_221 = nskHII_220 in
                {148}let pkHII_222 = pk(skHII_221) in
                {149}let HiiID_223 = host(pkHII_222) in
                {150}!
                (
                    {151}out(ch, pkHII_222)
                ) | (
                    {152}!
                    (
                        {153}out(privchhiipt_106, HiiID_223)
                    ) | (
                        {154}!
                        {155}in(ch, (xHiiMpaAuth_224,xHiiMpaID_225));
                        {156}let xHiipkMPA_226 = key(xHiiMpaID_225) in
                        {157}if checkAuth(xHiiMpaAuth_224,xHiipkMPA_226) = true() then
                        {158}out(ch, sign(HiiID_223,skHII_221));
                        {159}in(ch, (xHiiReceptionAck_227,xHiiVc5_228));
                        {160}let xHiiPtCred_229 = getpubmsg(xHiiReceptionAck_227) in
                        {161}let (xHiiPrescID_230,xHiiPharmID_231,xHiiVc1_232,xHiiVc2_233,xHiiVc3_234,xHiiVc31_235,xHiiVc4_236,xHiic5_237) = getmsg(xHiiReceptionAck_227) in
                        {162}if CheckReceptionAck(xHiiReceptionAck_227,xHiiPtCred_229,xHiiPrescID_230,xHiiPharmID_231,xHiiVc1_232,xHiiVc2_233,xHiiVc3_234,xHiiVc31_235,xHiiVc4_236,xHiic5_237) = true() then
                        {163}let (=xHiiPtCred_229,xHiiEnc5_238) = getpublic(xHiiVc5_228) in
                        {164}if CheckVEncPtnym(xHiiVc5_228,xHiiPtCred_229,xHiiEnc5_238,pkHII_222) = true() then
                        {165}let xHiiPtnym_239 = dec(xHiiEnc5_238,skHII_221) in
                        {166}out(ch, invoice(xHiiPrescID_230))
                    )
                )
            ) | (
                {167}new nDrID_240;
                {168}let DrID_241 = choice[nDrID_240,wDrID] in
                {169}!
                {170}new nDrNym_242;
                {171}new wDrNym_243;
                {172}let DrNym_244 = choice[nDrNym_242,wDrNym_243] in
                {173}new rdr_245;
                {174}out(ch, zk((DrNym_244,DrID_241,rdr_245),DrCred(DrNym_244,DrID_241,rdr_245)));
                {175}in(ch, (xPtAuthProof_246,xPtDrPtIDProof_247));
                {176}let xPtCred_248 = getpublic(xPtAuthProof_246) in
                {177}let (xPtComt_249,=xPtCred_248) = getpublic(xPtDrPtIDProof_247) in
                {178}if PtCredVerifyDr(xPtAuthProof_246,xPtCred_248) = true() then
                {179}if PtCredVerifyPtIDDr(xPtDrPtIDProof_247,xPtComt_249,xPtCred_248) = true() then
                {180}new PrescText_250;
                {181}new Drr_251;
                {182}let PrescID_252 = hash(PrescText_250,xPtComt_249,comt(DrNym_244,Drr_251)) in
                {183}out(ch, (spk((DrNym_244,Drr_251,DrID_241,rdr_245),(comt(DrNym_244,Drr_251),DrCred(DrNym_244,DrID_241,rdr_245)),(PrescText_250,PrescID_252,comt(DrNym_244,Drr_251),xPtComt_249)),Drr_251))
            )
        )
    )
)

-- Observational equivalence
Termination warning: v_1680 <> v_1681 & attacker2:v_1679,v_1680 & attacker2:v_1679,v_1681 -> bad:
Selecting 0
Termination warning: v_1683 <> v_1684 & attacker2:v_1683,v_1682 & attacker2:v_1684,v_1682 -> bad:
Selecting 0
Completing...
Termination warning: v_1680 <> v_1681 & attacker2:v_1679,v_1680 & attacker2:v_1679,v_1681 -> bad:
Selecting 0
Termination warning: v_1683 <> v_1684 & attacker2:v_1683,v_1682 & attacker2:v_1684,v_1682 -> bad:
Selecting 0
200 rules inserted. The rule base contains 200 rules. 252 rules in the queue.
400 rules inserted. The rule base contains 399 rules. 208 rules in the queue.
600 rules inserted. The rule base contains 593 rules. 182 rules in the queue.
nounif attacker2:sign(x_135160,nskHII_220[!4 = *@sid_135161,!3 = *@sid_135162,!2 = *@sid_135163,!1 = *@sid_135164]),sign(x_135165,nskHII_220[!4 = *@sid_135161,!3 = *@sid_135162,!2 = *@sid_135163,!1 = *@sid_135164])/-5000
800 rules inserted. The rule base contains 687 rules. 148 rules in the queue.
1000 rules inserted. The rule base contains 865 rules. 211 rules in the queue.
1200 rules inserted. The rule base contains 1038 rules. 310 rules in the queue.
1400 rules inserted. The rule base contains 1224 rules. 398 rules in the queue.
1600 rules inserted. The rule base contains 1414 rules. 290 rules in the queue.
1800 rules inserted. The rule base contains 1605 rules. 261 rules in the queue.
2000 rules inserted. The rule base contains 1774 rules. 191 rules in the queue.
2200 rules inserted. The rule base contains 1737 rules. 302 rules in the queue.
2400 rules inserted. The rule base contains 1916 rules. 165 rules in the queue.
2600 rules inserted. The rule base contains 1979 rules. 375 rules in the queue.
2800 rules inserted. The rule base contains 2164 rules. 384 rules in the queue.
3000 rules inserted. The rule base contains 2344 rules. 373 rules in the queue.
3200 rules inserted. The rule base contains 2512 rules. 333 rules in the queue.
3400 rules inserted. The rule base contains 2663 rules. 281 rules in the queue.
3600 rules inserted. The rule base contains 2803 rules. 261 rules in the queue.
3800 rules inserted. The rule base contains 2925 rules. 235 rules in the queue.
4000 rules inserted. The rule base contains 3079 rules. 218 rules in the queue.
4200 rules inserted. The rule base contains 3239 rules. 184 rules in the queue.
4400 rules inserted. The rule base contains 3327 rules. 124 rules in the queue.
4600 rules inserted. The rule base contains 3384 rules. 112 rules in the queue.
4800 rules inserted. The rule base contains 3572 rules. 119 rules in the queue.
5000 rules inserted. The rule base contains 3745 rules. 51 rules in the queue.
RESULT Observational equivalence is true (bad not derivable).
