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_250,PtID_251,PtNym_252,PtHII_253,PtSSS_254,PtAcc_255,rpt_256),(comt(PtID_251,Ptr_250),PtCred(PtID_251,PtNym_252,PtHII_253,PtSSS_254,PtAcc_255,rpt_256))),comt(PtID_251,Ptr_250),PtCred(PtID_251,PtNym_252,PtHII_253,PtSSS_254,PtAcc_255,rpt_256)) => true()
openChcomt(chcomt(m_260,r_261),fake(chcomt(m_260,r_261),m1_259)) => m1_259
openChcomt(chcomt(m_257,r_258),r_258) => m_257
getpubmsg(spk(x_263,y_262,z_264)) => y_262
getmessage(sign(x_265,y_266),pk(y_266)) => x_265
open(comt(x_267,y_268),y_268) => x_267
PtCredVerifyPh(zk((PtID_269,PtNym_270,PtHII_271,PtSSS_272,PtAcc_273,rpt_274),(PtCred(PtID_269,PtNym_270,PtHII_271,PtSSS_272,PtAcc_273,rpt_274),PtSSS_272)),PtCred(PtID_269,PtNym_270,PtHII_271,PtSSS_272,PtAcc_273,rpt_274),PtSSS_272) => true()
getmsg(spk(x_276,y_277,z_275)) => z_275
CheckReceptionAck(spk((PtID_278,PtNym_279,PtHII_280,PtSSS_281,PtAcc_282,rpt_283),PtCred(PtID_278,PtNym_279,PtHII_280,PtSSS_281,PtAcc_282,rpt_283),(xPrescID_284,xPharmID_285,vc1_286,vc2_287,vc3_288,vc31_289,vc4_290,c5_291)),PtCred(PtID_278,PtNym_279,PtHII_280,PtSSS_281,PtAcc_282,rpt_283),xPrescID_284,xPharmID_285,vc1_286,vc2_287,vc3_288,vc31_289,vc4_290,c5_291) => true()
DrCredVerify(zk((DrNym_292,DrID_293,rdr_294),DrCred(DrNym_292,DrID_293,rdr_294)),DrCred(DrNym_292,DrID_293,rdr_294)) => true()
checkAuth(sign(x_295,y_296),pk(y_296)) => true()
CheckSPKDrPtDrNym(spk((DrNym_297,Drr_298,DrID_299,rdr_300),(comt(DrNym_297,Drr_298),DrCred(DrNym_297,DrID_299,rdr_300)),(PrescText_301,PrescID_302,comt(DrNym_297,Drr_298),comt(PtID_303,Ptr_304))),DrCred(DrNym_297,DrID_299,rdr_300),PrescText_301,PrescID_302,comt(DrNym_297,Drr_298),comt(PtID_303,Ptr_304)) => true()
CheckVEncHii(zk((PtID_305,PtNym_306,PtHII_307,PtSSS_308,PtAcc_309,rpt_310,r_311),(PtCred(PtID_305,PtNym_306,PtHII_307,PtSSS_308,PtAcc_309,rpt_310),penc(PtHII_307,pubkey_312,r_311))),PtCred(PtID_305,PtNym_306,PtHII_307,PtSSS_308,PtAcc_309,rpt_310),penc(PtHII_307,pubkey_312,r_311),pubkey_312) => true()
CheckVEncPtnym(zk((PtID_313,PtNym_314,PtHII_315,PtSSS_316,PtAcc_317,rpt_318,r_319),(PtCred(PtID_313,PtNym_314,PtHII_315,PtSSS_316,PtAcc_317,rpt_318),penc(PtNym_314,pubkey_320,r_319))),PtCred(PtID_313,PtNym_314,PtHII_315,PtSSS_316,PtAcc_317,rpt_318),penc(PtNym_314,pubkey_320,r_319),pubkey_320) => true()
PtCredVerifyDr(zk((PtID_321,PtNym_322,PtHII_323,PtSSS_324,PtAcc_325,rpt_326),PtCred(PtID_321,PtNym_322,PtHII_323,PtSSS_324,PtAcc_325,rpt_326)),PtCred(PtID_321,PtNym_322,PtHII_323,PtSSS_324,PtAcc_325,rpt_326)) => true()
CheckVEncDrnymMpa(zk((DrNym_327,Drr_328,r_329),(spk((DrNym_327,Drr_328,DrID_330,rdr_331),(comt(DrNym_327,Drr_328),DrCred(DrNym_327,DrID_330,rdr_331)),(PrescText_332,PrescID_333,comt(DrNym_327,Drr_328),xPtComt_334)),penc(DrNym_327,pkMPA_335,r_329))),spk((DrNym_327,Drr_328,DrID_330,rdr_331),(comt(DrNym_327,Drr_328),DrCred(DrNym_327,DrID_330,rdr_331)),(PrescText_332,PrescID_333,comt(DrNym_327,Drr_328),xPtComt_334)),penc(DrNym_327,pkMPA_335,r_329),pkMPA_335) => true()
getpublic(zk(x_337,y_336)) => y_336
dec(penc(m_338,pk(sk_339),r_340),sk_339) => m_338
CheckSPKPhPtID(spk((PtID_341,PtNym_342,PtHII_343,PtSSS_344,PtAcc_345,Ptr_346,rpt_347),(PtCred(PtID_341,PtNym_342,PtHII_343,PtSSS_344,PtAcc_345,rpt_347),comt(PtID_341,Ptr_346)),nonce_348),PtCred(PtID_341,PtNym_342,PtHII_343,PtSSS_344,PtAcc_345,rpt_347),comt(PtID_341,Ptr_346),nonce_348) => 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}!
    {10}new nDrNym_111;
    {11}new wDrNym_112;
    {12}new wDrID_113;
    {13}let DrNym_114 = choice[nDrNym_111,wDrNym_112] in
    {14}let DrID_115 = choice[nDrID_110,wDrID_113] in
    {15}new rdr_116;
    {16}out(ch, zk((DrNym_114,DrID_115,rdr_116),DrCred(DrNym_114,DrID_115,rdr_116)));
    {17}in(ch, (xPtAuthProof_117,xPtDrPtIDProof_118));
    {18}let xPtCred_119 = getpublic(xPtAuthProof_117) in
    {19}let (xPtComt_120,=xPtCred_119) = getpublic(xPtDrPtIDProof_118) in
    {20}if PtCredVerifyDr(xPtAuthProof_117,xPtCred_119) = true() then
    {21}if PtCredVerifyPtIDDr(xPtDrPtIDProof_118,xPtComt_120,xPtCred_119) = true() then
    {22}new PrescText_121;
    {23}new Drr_122;
    {24}let PrescID_123 = hash(PrescText_121,xPtComt_120,comt(DrNym_114,Drr_122)) in
    {25}out(ch, (spk((DrNym_114,Drr_122,DrID_115,rdr_116),(comt(DrNym_114,Drr_122),DrCred(DrNym_114,DrID_115,rdr_116)),(PrescText_121,PrescID_123,comt(DrNym_114,Drr_122),xPtComt_120)),Drr_122))
) | (
    {26}in(privchhiipt_106, PtHII_124);
    {27}let cpkHII_125 = key(PtHII_124) in
    {28}!
    {29}new nPtID_126;
    {30}new nPtNym_127;
    {31}new nPtAcc_128;
    {32}let PtID_129 = nPtID_126 in
    {33}let PtNym_130 = nPtNym_127 in
    {34}let PtAcc_131 = nPtAcc_128 in
    {35}!
    {36}new nPtSSS_132;
    {37}let PtSSS_133 = nPtSSS_132 in
    {38}in(privchphpt_108, cpkPh_134);
    {39}let cPharmID_135 = host(cpkPh_134) in
    {40}in(ch, xDrCredProof_136);
    {41}let xDrCred_137 = getpublic(xDrCredProof_136) in
    {42}if DrCredVerify(xDrCredProof_136,xDrCred_137) = true() then
    {43}new Ptr_138;
    {44}new rpt_139;
    {45}out(ch, (zk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139)),zk((Ptr_138,PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),(comt(PtID_129,Ptr_138),PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139)))));
    {46}in(ch, (xSPKDrPtDrNym_140,xDrr_141));
    {47}let (xPrescText_142,xPrescID_143,xDrComt_144,=comt(PtID_129,Ptr_138)) = getmsg(xSPKDrPtDrNym_140) in
    {48}if CheckSPKDrPtDrNym(xSPKDrPtDrNym_140,xDrCred_137,xPrescText_142,xPrescID_143,xDrComt_144,comt(PtID_129,Ptr_138)) = true() then
    {49}let xDrNym_145 = open(xDrComt_144,xDrr_141) in
    {50}in(ch, xPhAuth_146);
    {51}if checkAuth(xPhAuth_146,cpkPh_134) = true() then
    {52}let (=cPharmID_135,xMpaID_147) = getmessage(xPhAuth_146,cpkPh_134) in
    {53}let cpkMPA_148 = key(xMpaID_147) in
    {54}out(ch, zk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),(PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),PtSSS_133)));
    {55}new nonce_149;
    {56}new r_150;
    {57}let vc1_151 = zk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139,r_150),(PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),penc(PtHII_124,cpkMPA_148,r_150))) in
    {58}let vc2_152 = zk((xDrNym_145,xDrr_141,r_150),(xSPKDrPtDrNym_140,penc(xDrNym_145,cpkMPA_148,r_150))) in
    {59}let vc3_153 = zk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139,r_150),(PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),penc(PtNym_130,pkSSO_109,r_150))) in
    {60}let vc31_154 = zk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139,r_150),(PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),penc(PtHII_124,pkSSO_109,r_150))) in
    {61}let vc4_155 = zk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139,r_150),(PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),penc(PtNym_130,cpkMPA_148,r_150))) in
    {62}let vc5_156 = zk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139,r_150),(PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),penc(PtNym_130,cpkHII_125,r_150))) in
    {63}let c5_157 = penc(vc5_156,cpkMPA_148,r_150) in
    {64}out(ch, (xSPKDrPtDrNym_140,spk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,Ptr_138,rpt_139),(PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),comt(PtID_129,Ptr_138)),nonce_149),vc1_151,vc2_152,vc3_153,vc31_154,vc4_155,c5_157));
    {65}in(ch, xInvoice_158);
    {66}let ReceptionAck_159 = spk((PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),PtCred(PtID_129,PtNym_130,PtHII_124,PtSSS_133,PtAcc_131,rpt_139),(xPrescID_143,cPharmID_135,vc1_151,vc2_152,vc3_153,vc31_154,vc4_155,c5_157)) in
    {67}out(ch, ReceptionAck_159)
) | (
    {68}!
    (
        {69}new nskPh_160;
        {70}let skPh_161 = nskPh_160 in
        {71}let pkPh_162 = pk(skPh_161) in
        {72}let PharmID_163 = host(pkPh_162) in
        {73}!
        (
            {74}out(ch, pkPh_162)
        ) | (
            {75}!
            (
                {76}out(privchphpt_108, pkPh_162)
            ) | (
                {77}!
                {78}in(privchmpaph_107, dpkMPA_164);
                {79}let dMpaID_165 = host(dpkMPA_164) in
                {80}out(ch, sign((PharmID_163,dMpaID_165),skPh_161));
                {81}in(ch, xPhPtAuthProof_166);
                {82}let (xPhPtCred_167,xPhPtSSS_168) = getpublic(xPhPtAuthProof_166) in
                {83}if PtCredVerifyPh(xPhPtAuthProof_166,xPhPtCred_167,xPhPtSSS_168) = true() then
                {84}in(ch, (xPhSPKDrPtDrNym_169,xPtPhSPKPtID_170,xvc1_171,xvc2_172,xvc3_173,xvc31_174,xvc4_175,xc5_176));
                {85}let (xPhPrescText_177,xPhPrescID_178,xPhDrComt_179,xPhPtComt_180) = getmsg(xPhSPKDrPtDrNym_169) in
                {86}let (=xPhDrComt_179,xPhDrCred_181) = getpubmsg(xPhSPKDrPtDrNym_169) in
                {87}if CheckSPKDrPtDrNym(xPhSPKDrPtDrNym_169,xPhDrCred_181,xPhPrescText_177,xPhPrescID_178,xPhDrComt_179,xPhPtComt_180) = true() then
                {88}let xnonce_182 = getmsg(xPtPhSPKPtID_170) in
                {89}if CheckSPKPhPtID(xPtPhSPKPtID_170,xPhPtCred_167,xPhPtComt_180,xnonce_182) = true() then
                {90}let (=xPhPtCred_167,xEnc1_183) = getpublic(xvc1_171) in
                {91}if CheckVEncHii(xvc1_171,xPhPtCred_167,xEnc1_183,dpkMPA_164) = true() then
                {92}let (=xPhSPKDrPtDrNym_169,xEnc2_184) = getpublic(xvc2_172) in
                {93}if CheckVEncDrnymMpa(xvc2_172,xPhSPKDrPtDrNym_169,xEnc2_184,dpkMPA_164) = true() then
                {94}let (=xPhPtCred_167,xEnc3_185) = getpublic(xvc3_173) in
                {95}if CheckVEncPtnym(xvc3_173,xPhPtCred_167,xEnc3_185,pkSSO_109) = true() then
                {96}let (=xPhPtCred_167,xEnc31_186) = getpublic(xvc31_174) in
                {97}if CheckVEncHii(xvc31_174,xPhPtCred_167,xEnc31_186,pkSSO_109) = true() then
                {98}let (=xPhPtCred_167,xEnc4_187) = getpublic(xvc4_175) in
                {99}if CheckVEncPtnym(xvc4_175,xPhPtCred_167,xEnc4_187,dpkMPA_164) = true() then
                {100}out(ch, invoice(xPhPrescID_178));
                {101}in(ch, xReceptionAck_188);
                {102}if CheckReceptionAck(xReceptionAck_188,xPhPtCred_167,xPhPrescID_178,PharmID_163,xvc1_171,xvc2_172,xvc3_173,xvc31_174,xvc4_175,xc5_176) = true() then
                {103}out(ch, (sign((PharmID_163,dMpaID_165),skPh_161),PharmID_163));
                {104}in(ch, xMpaAuth_189);
                {105}if checkAuth(xMpaAuth_189,dpkMPA_164) = true() then
                {106}out(ch, (xPhSPKDrPtDrNym_169,xvc1_171,xvc2_172,xvc3_173,xvc31_174,xvc4_175,xc5_176,xReceptionAck_188))
            )
        )
    ) | (
        {107}!
        (
            {108}new nskMPA_190;
            {109}let skMPA_191 = nskMPA_190 in
            {110}let pkMPA_192 = pk(skMPA_191) in
            {111}let MpaID_193 = host(pkMPA_192) in
            {112}!
            (
                {113}out(ch, pkMPA_192)
            ) | (
                {114}!
                (
                    {115}out(privchmpaph_107, pkMPA_192)
                ) | (
                    {116}!
                    {117}in(ch, (xMpaPhAuth_194,xPharmID_195));
                    {118}let xpkPh_196 = key(xPharmID_195) in
                    {119}if checkAuth(xMpaPhAuth_194,xpkPh_196) = true() then
                    {120}let (=xPharmID_195,=MpaID_193) = getmessage(xMpaPhAuth_194,xpkPh_196) in
                    {121}out(ch, sign(MpaID_193,skMPA_191));
                    {122}in(ch, (xMpaSPKDrPtDrNym_197,xMpaVc1_198,xMpaVc2_199,xMpaVc3_200,xMpaVc31_201,xMpaVc4_202,xMpac5_203,xMpaReceptionAck_204));
                    {123}let (xMpaDrComt_205,xMpaDrCred_206) = getpubmsg(xMpaSPKDrPtDrNym_197) in
                    {124}let (xMpaPrescText_207,xMpaPrescID_208,=xMpaDrComt_205,xMpaPtComt_209) = getmsg(xMpaSPKDrPtDrNym_197) in
                    {125}if CheckSPKDrPtDrNym(xMpaSPKDrPtDrNym_197,xMpaDrCred_206,xMpaPrescText_207,xMpaPrescID_208,xMpaDrComt_205,xMpaPtComt_209) = true() then
                    {126}let (xMpaPtCred_210,xMpaEnc1_211) = getpublic(xMpaVc1_198) in
                    {127}if CheckVEncHii(xMpaVc1_198,xMpaPtCred_210,xMpaEnc1_211,pkMPA_192) = true() then
                    {128}let xMpaPthii_212 = dec(xMpaEnc1_211,skMPA_191) in
                    {129}let (=xMpaSPKDrPtDrNym_197,xMpaEnc2_213) = getpublic(xMpaVc2_199) in
                    {130}if CheckVEncDrnymMpa(xMpaVc2_199,xMpaSPKDrPtDrNym_197,xMpaEnc2_213,pkMPA_192) = true() then
                    {131}let xMpaDrnym_214 = dec(xMpaEnc2_213,skMPA_191) in
                    {132}let (=xMpaPtCred_210,xMpaEnc3_215) = getpublic(xMpaVc3_200) in
                    {133}if CheckVEncPtnym(xMpaVc3_200,xMpaPtCred_210,xMpaEnc3_215,pkSSO_109) = true() then
                    {134}let (=xMpaPtCred_210,xMpaEnc31_216) = getpublic(xMpaVc31_201) in
                    {135}if CheckVEncHii(xMpaVc31_201,xMpaPtCred_210,xMpaEnc31_216,pkSSO_109) = true() then
                    {136}let (=xMpaPtCred_210,xMpaEnc4_217) = getpublic(xMpaVc4_202) in
                    {137}if CheckVEncPtnym(xMpaVc4_202,xMpaPtCred_210,xMpaEnc4_217,pkMPA_192) = true() then
                    {138}let xMpaPtnym_218 = dec(xMpaEnc4_217,skMPA_191) in
                    {139}if CheckReceptionAck(xMpaReceptionAck_204,xMpaPtCred_210,xMpaPrescID_208,xPharmID_195,xMpaVc1_198,xMpaVc2_199,xMpaVc3_200,xMpaVc31_201,xMpaVc4_202,xMpac5_203) = true() then
                    {140}out(ch, (sign(MpaID_193,skMPA_191),MpaID_193));
                    {141}in(ch, xMpaHiiAuth_219);
                    {142}let mpkHII_220 = key(xMpaPthii_212) in
                    {143}if checkAuth(xMpaHiiAuth_219,mpkHII_220) = true() then
                    {144}if getmessage(xMpaHiiAuth_219,mpkHII_220) = xMpaPthii_212 then
                    {145}out(ch, (xMpaReceptionAck_204,dec(xMpac5_203,skMPA_191)));
                    {146}in(ch, xMpaInvoice_221)
                )
            )
        ) | (
            {147}!
            {148}new nskHII_222;
            {149}let skHII_223 = nskHII_222 in
            {150}let pkHII_224 = pk(skHII_223) in
            {151}let HiiID_225 = host(pkHII_224) in
            {152}!
            (
                {153}out(ch, pkHII_224)
            ) | (
                {154}!
                (
                    {155}out(privchhiipt_106, HiiID_225)
                ) | (
                    {156}!
                    {157}in(ch, (xHiiMpaAuth_226,xHiiMpaID_227));
                    {158}let xHiipkMPA_228 = key(xHiiMpaID_227) in
                    {159}if checkAuth(xHiiMpaAuth_226,xHiipkMPA_228) = true() then
                    {160}out(ch, sign(HiiID_225,skHII_223));
                    {161}in(ch, (xHiiReceptionAck_229,xHiiVc5_230));
                    {162}let xHiiPtCred_231 = getpubmsg(xHiiReceptionAck_229) in
                    {163}let (xHiiPrescID_232,xHiiPharmID_233,xHiiVc1_234,xHiiVc2_235,xHiiVc3_236,xHiiVc31_237,xHiiVc4_238,xHiic5_239) = getmsg(xHiiReceptionAck_229) in
                    {164}if CheckReceptionAck(xHiiReceptionAck_229,xHiiPtCred_231,xHiiPrescID_232,xHiiPharmID_233,xHiiVc1_234,xHiiVc2_235,xHiiVc3_236,xHiiVc31_237,xHiiVc4_238,xHiic5_239) = true() then
                    {165}let (=xHiiPtCred_231,xHiiEnc5_240) = getpublic(xHiiVc5_230) in
                    {166}if CheckVEncPtnym(xHiiVc5_230,xHiiPtCred_231,xHiiEnc5_240,pkHII_224) = true() then
                    {167}let xHiiPtnym_241 = dec(xHiiEnc5_240,skHII_223) in
                    {168}out(ch, invoice(xHiiPrescID_232))
                )
            )
        )
    )
)

-- Observational equivalence
Termination warning: v_1669 <> v_1670 & attacker2:v_1668,v_1669 & attacker2:v_1668,v_1670 -> bad:
Selecting 0
Termination warning: v_1672 <> v_1673 & attacker2:v_1672,v_1671 & attacker2:v_1673,v_1671 -> bad:
Selecting 0
Completing...
Termination warning: v_1669 <> v_1670 & attacker2:v_1668,v_1669 & attacker2:v_1668,v_1670 -> bad:
Selecting 0
Termination warning: v_1672 <> v_1673 & attacker2:v_1672,v_1671 & attacker2:v_1673,v_1671 -> bad:
Selecting 0
200 rules inserted. The rule base contains 200 rules. 247 rules in the queue.
400 rules inserted. The rule base contains 399 rules. 195 rules in the queue.
600 rules inserted. The rule base contains 555 rules. 173 rules in the queue.
nounif attacker2:sign(x_134060,nskHII_222[!4 = *@sid_134061,!3 = *@sid_134062,!2 = *@sid_134063,!1 = *@sid_134064]),sign(x_134065,nskHII_222[!4 = *@sid_134061,!3 = *@sid_134062,!2 = *@sid_134063,!1 = *@sid_134064])/-5000
800 rules inserted. The rule base contains 687 rules. 121 rules in the queue.
1000 rules inserted. The rule base contains 852 rules. 156 rules in the queue.
1200 rules inserted. The rule base contains 1018 rules. 138 rules in the queue.
1400 rules inserted. The rule base contains 1207 rules. 55 rules in the queue.
1600 rules inserted. The rule base contains 1260 rules. 39 rules in the queue.
1800 rules inserted. The rule base contains 1428 rules. 136 rules in the queue.
2000 rules inserted. The rule base contains 1590 rules. 104 rules in the queue.
2200 rules inserted. The rule base contains 1742 rules. 58 rules in the queue.
2400 rules inserted. The rule base contains 1880 rules. 19 rules in the queue.
RESULT Observational equivalence is true (bad not derivable).
