TSTP Solution File: SWV014+1 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : SWV014+1 : TPTP v8.1.0. Released v2.4.0.
% Transfm  : none
% Format   : tptp
% Command  : z3_tptp -proof -model -t:%d -file:%s

% Computer : n024.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Thu Sep 29 15:09:39 EDT 2022

% Result   : Theorem 8.02s 5.38s
% Output   : Proof 8.02s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.12  % Problem  : SWV014+1 : TPTP v8.1.0. Released v2.4.0.
% 0.10/0.12  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.12/0.33  % Computer : n024.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 300
% 0.12/0.33  % DateTime : Sun Sep  4 01:02:03 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 0.12/0.34  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.12/0.34  Usage: tptp [options] [-file:]file
% 0.12/0.34    -h, -?       prints this message.
% 0.12/0.34    -smt2        print SMT-LIB2 benchmark.
% 0.12/0.34    -m, -model   generate model.
% 0.12/0.34    -p, -proof   generate proof.
% 0.12/0.34    -c, -core    generate unsat core of named formulas.
% 0.12/0.34    -st, -statistics display statistics.
% 0.12/0.34    -t:timeout   set timeout (in second).
% 0.12/0.34    -smt2status  display status in smt2 format instead of SZS.
% 0.12/0.34    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.12/0.34    -<param>:<value> configuration parameter and value.
% 0.12/0.34    -o:<output-file> file to place output in.
% 8.02/5.38  % SZS status Theorem
% 8.02/5.38  % SZS output start Proof
% 8.02/5.38  tff(intruder_holds_type, type, (
% 8.02/5.38     intruder_holds: $i > $o)).
% 8.02/5.38  tff(key_type, type, (
% 8.02/5.38     key: ( $i * $i ) > $i)).
% 8.02/5.38  tff(b_type, type, (
% 8.02/5.38     b: $i)).
% 8.02/5.38  tff(an_a_nonce_type, type, (
% 8.02/5.38     an_a_nonce: $i)).
% 8.02/5.38  tff(intruder_message_type, type, (
% 8.02/5.38     intruder_message: $i > $o)).
% 8.02/5.38  tff(a_type, type, (
% 8.02/5.38     a: $i)).
% 8.02/5.38  tff(pair_type, type, (
% 8.02/5.38     pair: ( $i * $i ) > $i)).
% 8.02/5.38  tff(message_type, type, (
% 8.02/5.38     message: $i > $o)).
% 8.02/5.38  tff(sent_type, type, (
% 8.02/5.38     sent: ( $i * $i * $i ) > $i)).
% 8.02/5.38  tff(party_of_protocol_type, type, (
% 8.02/5.38     party_of_protocol: $i > $o)).
% 8.02/5.38  tff(encrypt_type, type, (
% 8.02/5.38     encrypt: ( $i * $i ) > $i)).
% 8.02/5.38  tff(generate_b_nonce_type, type, (
% 8.02/5.38     generate_b_nonce: $i > $i)).
% 8.02/5.38  tff(bt_type, type, (
% 8.02/5.38     bt: $i)).
% 8.02/5.38  tff(triple_type, type, (
% 8.02/5.38     triple: ( $i * $i * $i ) > $i)).
% 8.02/5.38  tff(generate_expiration_time_type, type, (
% 8.02/5.38     generate_expiration_time: $i > $i)).
% 8.02/5.38  tff(b_holds_type, type, (
% 8.02/5.38     b_holds: $i > $o)).
% 8.02/5.38  tff(b_stored_type, type, (
% 8.02/5.38     b_stored: $i > $o)).
% 8.02/5.38  tff(t_type, type, (
% 8.02/5.38     t: $i)).
% 8.02/5.38  tff(fresh_to_b_type, type, (
% 8.02/5.38     fresh_to_b: $i > $o)).
% 8.02/5.38  tff(1,assumption,(~intruder_holds(key(an_a_nonce, b))), introduced(assumption)).
% 8.02/5.38  tff(2,plain,
% 8.02/5.38      (^[U: $i, V: $i, W: $i] : refl((intruder_message(W) | (~message(sent(U, V, W)))) <=> (intruder_message(W) | (~message(sent(U, V, W)))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(3,plain,
% 8.02/5.38      (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W)))) <=> ![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[2])).
% 8.02/5.38  tff(4,plain,
% 8.02/5.38      (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W)))) <=> ![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(5,plain,
% 8.02/5.38      (^[U: $i, V: $i, W: $i] : rewrite((message(sent(U, V, W)) => intruder_message(W)) <=> (intruder_message(W) | (~message(sent(U, V, W)))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(6,plain,
% 8.02/5.38      (![U: $i, V: $i, W: $i] : (message(sent(U, V, W)) => intruder_message(W)) <=> ![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[5])).
% 8.02/5.38  tff(7,axiom,(![U: $i, V: $i, W: $i] : (message(sent(U, V, W)) => intruder_message(W))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','intruder_can_record')).
% 8.02/5.38  tff(8,plain,
% 8.02/5.38      (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[7, 6])).
% 8.02/5.38  tff(9,plain,
% 8.02/5.38      (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[8, 4])).
% 8.02/5.38  tff(10,plain,(
% 8.02/5.38      ![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 8.02/5.38      inference(skolemize,[status(sab)],[9])).
% 8.02/5.38  tff(11,plain,
% 8.02/5.38      (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[10, 3])).
% 8.02/5.38  tff(12,plain,
% 8.02/5.38      (message(sent(a, b, pair(a, an_a_nonce))) <=> message(sent(a, b, pair(a, an_a_nonce)))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(13,axiom,(message(sent(a, b, pair(a, an_a_nonce)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','a_sent_message_i_to_b')).
% 8.02/5.38  tff(14,plain,
% 8.02/5.38      (message(sent(a, b, pair(a, an_a_nonce)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[13, 12])).
% 8.02/5.38  tff(15,plain,
% 8.02/5.38      (((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | (intruder_message(pair(a, an_a_nonce)) | (~message(sent(a, b, pair(a, an_a_nonce)))))) <=> ((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | intruder_message(pair(a, an_a_nonce)) | (~message(sent(a, b, pair(a, an_a_nonce)))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(16,plain,
% 8.02/5.38      ((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | (intruder_message(pair(a, an_a_nonce)) | (~message(sent(a, b, pair(a, an_a_nonce)))))),
% 8.02/5.38      inference(quant_inst,[status(thm)],[])).
% 8.02/5.38  tff(17,plain,
% 8.02/5.38      ((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | intruder_message(pair(a, an_a_nonce)) | (~message(sent(a, b, pair(a, an_a_nonce))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[16, 15])).
% 8.02/5.38  tff(18,plain,
% 8.02/5.38      (intruder_message(pair(a, an_a_nonce))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[17, 14, 11])).
% 8.02/5.38  tff(19,plain,
% 8.02/5.38      (^[U: $i, V: $i] : refl(((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V))))) <=> ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(20,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V))))) <=> ![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[19])).
% 8.02/5.38  tff(21,plain,
% 8.02/5.38      (^[U: $i, V: $i] : rewrite(((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V))) <=> ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(22,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V))) <=> ![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[21])).
% 8.02/5.38  tff(23,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V))) <=> ![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(24,plain,
% 8.02/5.38      (^[U: $i, V: $i] : rewrite((intruder_message(pair(U, V)) => (intruder_message(U) & intruder_message(V))) <=> ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(25,plain,
% 8.02/5.38      (![U: $i, V: $i] : (intruder_message(pair(U, V)) => (intruder_message(U) & intruder_message(V))) <=> ![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[24])).
% 8.02/5.38  tff(26,axiom,(![U: $i, V: $i] : (intruder_message(pair(U, V)) => (intruder_message(U) & intruder_message(V)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','intruder_decomposes_pairs')).
% 8.02/5.38  tff(27,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[26, 25])).
% 8.02/5.38  tff(28,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[27, 23])).
% 8.02/5.38  tff(29,plain,(
% 8.02/5.38      ![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 8.02/5.38      inference(skolemize,[status(sab)],[28])).
% 8.02/5.38  tff(30,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[29, 22])).
% 8.02/5.38  tff(31,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[30, 20])).
% 8.02/5.38  tff(32,plain,
% 8.02/5.38      (((~![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))) | ((~intruder_message(pair(a, an_a_nonce))) | (~((~intruder_message(a)) | (~intruder_message(an_a_nonce)))))) <=> ((~![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))) | (~intruder_message(pair(a, an_a_nonce))) | (~((~intruder_message(a)) | (~intruder_message(an_a_nonce)))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(33,plain,
% 8.02/5.38      ((~![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))) | ((~intruder_message(pair(a, an_a_nonce))) | (~((~intruder_message(a)) | (~intruder_message(an_a_nonce)))))),
% 8.02/5.38      inference(quant_inst,[status(thm)],[])).
% 8.02/5.38  tff(34,plain,
% 8.02/5.38      ((~![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))) | (~intruder_message(pair(a, an_a_nonce))) | (~((~intruder_message(a)) | (~intruder_message(an_a_nonce))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[33, 32])).
% 8.02/5.38  tff(35,plain,
% 8.02/5.38      ((~intruder_message(pair(a, an_a_nonce))) | (~((~intruder_message(a)) | (~intruder_message(an_a_nonce))))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[34, 31])).
% 8.02/5.38  tff(36,plain,
% 8.02/5.38      (~((~intruder_message(a)) | (~intruder_message(an_a_nonce)))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[35, 18])).
% 8.02/5.38  tff(37,plain,
% 8.02/5.38      (((~intruder_message(a)) | (~intruder_message(an_a_nonce))) | intruder_message(an_a_nonce)),
% 8.02/5.38      inference(tautology,[status(thm)],[])).
% 8.02/5.38  tff(38,plain,
% 8.02/5.38      (intruder_message(an_a_nonce)),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[37, 36])).
% 8.02/5.38  tff(39,plain,
% 8.02/5.38      (^[V: $i, W: $i] : refl((intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W))) <=> (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(40,plain,
% 8.02/5.38      (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W))) <=> ![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[39])).
% 8.02/5.38  tff(41,plain,
% 8.02/5.38      (^[V: $i, W: $i] : trans(monotonicity(trans(monotonicity(rewrite((intruder_message(V) & party_of_protocol(W)) <=> (~((~intruder_message(V)) | (~party_of_protocol(W))))), ((~(intruder_message(V) & party_of_protocol(W))) <=> (~(~((~intruder_message(V)) | (~party_of_protocol(W))))))), rewrite((~(~((~intruder_message(V)) | (~party_of_protocol(W))))) <=> ((~intruder_message(V)) | (~party_of_protocol(W)))), ((~(intruder_message(V) & party_of_protocol(W))) <=> ((~intruder_message(V)) | (~party_of_protocol(W))))), ((intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W)))) <=> (intruder_holds(key(V, W)) | ((~intruder_message(V)) | (~party_of_protocol(W)))))), rewrite((intruder_holds(key(V, W)) | ((~intruder_message(V)) | (~party_of_protocol(W)))) <=> (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))), ((intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W)))) <=> (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(42,plain,
% 8.02/5.38      (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W)))) <=> ![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[41])).
% 8.02/5.38  tff(43,plain,
% 8.02/5.38      (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W)))) <=> ![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(44,plain,
% 8.02/5.38      (^[V: $i, W: $i] : rewrite(((intruder_message(V) & party_of_protocol(W)) => intruder_holds(key(V, W))) <=> (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W)))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(45,plain,
% 8.02/5.38      (![V: $i, W: $i] : ((intruder_message(V) & party_of_protocol(W)) => intruder_holds(key(V, W))) <=> ![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[44])).
% 8.02/5.38  tff(46,axiom,(![V: $i, W: $i] : ((intruder_message(V) & party_of_protocol(W)) => intruder_holds(key(V, W)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','intruder_holds_key')).
% 8.02/5.38  tff(47,plain,
% 8.02/5.38      (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[46, 45])).
% 8.02/5.38  tff(48,plain,
% 8.02/5.38      (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[47, 43])).
% 8.02/5.38  tff(49,plain,(
% 8.02/5.38      ![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 8.02/5.38      inference(skolemize,[status(sab)],[48])).
% 8.02/5.38  tff(50,plain,
% 8.02/5.38      (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[49, 42])).
% 8.02/5.38  tff(51,plain,
% 8.02/5.38      (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[50, 40])).
% 8.02/5.38  tff(52,plain,
% 8.02/5.38      (party_of_protocol(b) <=> party_of_protocol(b)),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(53,axiom,(party_of_protocol(b)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','b_is_party_of_protocol')).
% 8.02/5.38  tff(54,plain,
% 8.02/5.38      (party_of_protocol(b)),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[53, 52])).
% 8.02/5.38  tff(55,plain,
% 8.02/5.38      (((~![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))) | (intruder_holds(key(an_a_nonce, b)) | (~intruder_message(an_a_nonce)) | (~party_of_protocol(b)))) <=> ((~![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))) | intruder_holds(key(an_a_nonce, b)) | (~intruder_message(an_a_nonce)) | (~party_of_protocol(b)))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(56,plain,
% 8.02/5.38      ((~![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))) | (intruder_holds(key(an_a_nonce, b)) | (~intruder_message(an_a_nonce)) | (~party_of_protocol(b)))),
% 8.02/5.38      inference(quant_inst,[status(thm)],[])).
% 8.02/5.38  tff(57,plain,
% 8.02/5.38      ((~![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))) | intruder_holds(key(an_a_nonce, b)) | (~intruder_message(an_a_nonce)) | (~party_of_protocol(b))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[56, 55])).
% 8.02/5.38  tff(58,plain,
% 8.02/5.38      ($false),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[57, 54, 51, 38, 1])).
% 8.02/5.38  tff(59,plain,(intruder_holds(key(an_a_nonce, b))), inference(lemma,lemma(discharge,[]))).
% 8.02/5.38  tff(60,assumption,(intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))), introduced(assumption)).
% 8.02/5.38  tff(61,plain,
% 8.02/5.38      (intruder_holds(key(an_a_nonce, b))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[57, 54, 51, 38])).
% 8.02/5.38  tff(62,plain,
% 8.02/5.38      (^[U: $i] : refl(((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))) <=> ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(63,plain,
% 8.02/5.38      (![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))) <=> ![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[62])).
% 8.02/5.38  tff(64,plain,
% 8.02/5.38      (^[U: $i] : trans(monotonicity(rewrite((intruder_holds(key(U, b)) & b_holds(key(U, a))) <=> (~((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))))), ((~(intruder_holds(key(U, b)) & b_holds(key(U, a)))) <=> (~(~((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))))))), rewrite((~(~((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))))) <=> ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))), ((~(intruder_holds(key(U, b)) & b_holds(key(U, a)))) <=> ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(65,plain,
% 8.02/5.38      (![U: $i] : (~(intruder_holds(key(U, b)) & b_holds(key(U, a)))) <=> ![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[64])).
% 8.02/5.38  tff(66,plain,
% 8.02/5.38      ((~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))) <=> (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(67,axiom,(~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','co1')).
% 8.02/5.38  tff(68,plain,
% 8.02/5.38      (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[67, 66])).
% 8.02/5.38  tff(69,plain,
% 8.02/5.38      (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[68, 66])).
% 8.02/5.38  tff(70,plain,
% 8.02/5.38      (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[69, 66])).
% 8.02/5.38  tff(71,plain,
% 8.02/5.38      (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[70, 66])).
% 8.02/5.38  tff(72,plain,
% 8.02/5.38      (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[71, 66])).
% 8.02/5.38  tff(73,plain,
% 8.02/5.38      (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[72, 66])).
% 8.02/5.38  tff(74,plain,
% 8.02/5.38      (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[73, 66])).
% 8.02/5.38  tff(75,plain,
% 8.02/5.38      (^[U: $i] : refl($oeq((~(intruder_holds(key(U, b)) & b_holds(key(U, a)))), (~(intruder_holds(key(U, b)) & b_holds(key(U, a))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(76,plain,(
% 8.02/5.38      ![U: $i] : (~(intruder_holds(key(U, b)) & b_holds(key(U, a))))),
% 8.02/5.38      inference(nnf-neg,[status(sab)],[74, 75])).
% 8.02/5.38  tff(77,plain,
% 8.02/5.38      (![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[76, 65])).
% 8.02/5.38  tff(78,plain,
% 8.02/5.38      (![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[77, 63])).
% 8.02/5.38  tff(79,plain,
% 8.02/5.38      (((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | ((~b_holds(key(an_a_nonce, a))) | (~intruder_holds(key(an_a_nonce, b))))) <=> ((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | (~b_holds(key(an_a_nonce, a))) | (~intruder_holds(key(an_a_nonce, b))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(80,plain,
% 8.02/5.38      (((~intruder_holds(key(an_a_nonce, b))) | (~b_holds(key(an_a_nonce, a)))) <=> ((~b_holds(key(an_a_nonce, a))) | (~intruder_holds(key(an_a_nonce, b))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(81,plain,
% 8.02/5.38      (((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | ((~intruder_holds(key(an_a_nonce, b))) | (~b_holds(key(an_a_nonce, a))))) <=> ((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | ((~b_holds(key(an_a_nonce, a))) | (~intruder_holds(key(an_a_nonce, b)))))),
% 8.02/5.38      inference(monotonicity,[status(thm)],[80])).
% 8.02/5.38  tff(82,plain,
% 8.02/5.38      (((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | ((~intruder_holds(key(an_a_nonce, b))) | (~b_holds(key(an_a_nonce, a))))) <=> ((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | (~b_holds(key(an_a_nonce, a))) | (~intruder_holds(key(an_a_nonce, b))))),
% 8.02/5.38      inference(transitivity,[status(thm)],[81, 79])).
% 8.02/5.38  tff(83,plain,
% 8.02/5.38      ((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | ((~intruder_holds(key(an_a_nonce, b))) | (~b_holds(key(an_a_nonce, a))))),
% 8.02/5.38      inference(quant_inst,[status(thm)],[])).
% 8.02/5.38  tff(84,plain,
% 8.02/5.38      ((~![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))) | (~b_holds(key(an_a_nonce, a))) | (~intruder_holds(key(an_a_nonce, b)))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[83, 82])).
% 8.02/5.38  tff(85,plain,
% 8.02/5.38      ((~b_holds(key(an_a_nonce, a))) | (~intruder_holds(key(an_a_nonce, b)))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[84, 78])).
% 8.02/5.38  tff(86,plain,
% 8.02/5.38      (~b_holds(key(an_a_nonce, a))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[85, 61])).
% 8.02/5.38  tff(87,plain,
% 8.02/5.38      (^[U: $i, V: $i] : refl(((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V)))))) <=> ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V)))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(88,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V)))))) <=> ![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[87])).
% 8.02/5.38  tff(89,plain,
% 8.02/5.38      (^[U: $i, V: $i] : trans(monotonicity(trans(monotonicity(rewrite((message(sent(U, b, pair(U, V))) & fresh_to_b(V)) <=> (~((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V))))), ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) <=> (~(~((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V))))))), rewrite((~(~((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V))))) <=> ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)))), ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) <=> ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V))))), rewrite((message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V))) <=> (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V)))))), (((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V)))) <=> (((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V))) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V)))))))), rewrite((((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V))) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V)))))) <=> ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))), (((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V)))) <=> ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(90,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V)))) <=> ![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[89])).
% 8.02/5.38  tff(91,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V)))) <=> ![U: $i, V: $i] : ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(92,plain,
% 8.02/5.38      (^[U: $i, V: $i] : rewrite(((message(sent(U, b, pair(U, V))) & fresh_to_b(V)) => (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V)))) <=> ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V)))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(93,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((message(sent(U, b, pair(U, V))) & fresh_to_b(V)) => (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V)))) <=> ![U: $i, V: $i] : ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[92])).
% 8.02/5.38  tff(94,axiom,(![U: $i, V: $i] : ((message(sent(U, b, pair(U, V))) & fresh_to_b(V)) => (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V))))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','b_creates_freash_nonces_in_time')).
% 8.02/5.38  tff(95,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[94, 93])).
% 8.02/5.38  tff(96,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[95, 91])).
% 8.02/5.38  tff(97,plain,(
% 8.02/5.38      ![U: $i, V: $i] : ((~(message(sent(U, b, pair(U, V))) & fresh_to_b(V))) | (message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt)))) & b_stored(pair(U, V))))),
% 8.02/5.38      inference(skolemize,[status(sab)],[96])).
% 8.02/5.38  tff(98,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[97, 90])).
% 8.02/5.38  tff(99,plain,
% 8.02/5.38      (![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[98, 88])).
% 8.02/5.38  tff(100,plain,
% 8.02/5.38      (fresh_to_b(an_a_nonce) <=> fresh_to_b(an_a_nonce)),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(101,axiom,(fresh_to_b(an_a_nonce)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','nonce_a_is_fresh_to_b')).
% 8.02/5.38  tff(102,plain,
% 8.02/5.38      (fresh_to_b(an_a_nonce)),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[101, 100])).
% 8.02/5.38  tff(103,plain,
% 8.02/5.38      (((~![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))) | ((~message(sent(a, b, pair(a, an_a_nonce)))) | (~fresh_to_b(an_a_nonce)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))) | (~b_stored(pair(a, an_a_nonce))))))) <=> ((~![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))) | (~message(sent(a, b, pair(a, an_a_nonce)))) | (~fresh_to_b(an_a_nonce)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))) | (~b_stored(pair(a, an_a_nonce))))))),
% 8.02/5.38      inference(rewrite,[status(thm)],[])).
% 8.02/5.38  tff(104,plain,
% 8.02/5.38      ((~![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))) | ((~message(sent(a, b, pair(a, an_a_nonce)))) | (~fresh_to_b(an_a_nonce)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))) | (~b_stored(pair(a, an_a_nonce))))))),
% 8.02/5.38      inference(quant_inst,[status(thm)],[])).
% 8.02/5.38  tff(105,plain,
% 8.02/5.38      ((~![U: $i, V: $i] : ((~message(sent(U, b, pair(U, V)))) | (~fresh_to_b(V)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(V), encrypt(triple(U, V, generate_expiration_time(V)), bt))))) | (~b_stored(pair(U, V))))))) | (~message(sent(a, b, pair(a, an_a_nonce)))) | (~fresh_to_b(an_a_nonce)) | (~((~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))) | (~b_stored(pair(a, an_a_nonce)))))),
% 8.02/5.38      inference(modus_ponens,[status(thm)],[104, 103])).
% 8.02/5.38  tff(106,plain,
% 8.02/5.38      (~((~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))) | (~b_stored(pair(a, an_a_nonce))))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[105, 14, 102, 99])).
% 8.02/5.38  tff(107,plain,
% 8.02/5.38      (((~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))) | (~b_stored(pair(a, an_a_nonce)))) | b_stored(pair(a, an_a_nonce))),
% 8.02/5.38      inference(tautology,[status(thm)],[])).
% 8.02/5.38  tff(108,plain,
% 8.02/5.38      (b_stored(pair(a, an_a_nonce))),
% 8.02/5.38      inference(unit_resolution,[status(thm)],[107, 106])).
% 8.02/5.38  tff(109,plain,
% 8.02/5.38      (^[V: $i, X: $i, Y: $i] : refl((b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))))) <=> (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(110,plain,
% 8.02/5.38      (![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))))) <=> ![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))),
% 8.02/5.38      inference(quant_intro,[status(thm)],[109])).
% 8.02/5.38  tff(111,plain,
% 8.02/5.38      (^[V: $i, X: $i, Y: $i] : trans(monotonicity(trans(monotonicity(rewrite((message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))) <=> (~((~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))))))), ((~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y)))) <=> (~(~((~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))))))))), rewrite((~(~((~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))))))) <=> ((~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))), ((~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y)))) <=> ((~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))))))), ((b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))))) <=> (b_holds(key(V, X)) | ((~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))))), rewrite((b_holds(key(V, X)) | ((~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))) <=> (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))), ((b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))))) <=> (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))))),
% 8.02/5.38      inference(bind,[status(th)],[])).
% 8.02/5.38  tff(112,plain,
% 8.02/5.38      (![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))))) <=> ![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[111])).
% 8.02/5.39  tff(113,plain,
% 8.02/5.39      (![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))))) <=> ![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y)))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(114,plain,
% 8.02/5.39      (^[V: $i, X: $i, Y: $i] : rewrite(((message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))) => b_holds(key(V, X))) <=> (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(115,plain,
% 8.02/5.39      (![V: $i, X: $i, Y: $i] : ((message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))) => b_holds(key(V, X))) <=> ![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y)))))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[114])).
% 8.02/5.39  tff(116,axiom,(![V: $i, X: $i, Y: $i] : ((message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y))) => b_holds(key(V, X)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','b_accepts_secure_session_key')).
% 8.02/5.39  tff(117,plain,
% 8.02/5.39      (![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y)))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[116, 115])).
% 8.02/5.39  tff(118,plain,
% 8.02/5.39      (![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y)))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[117, 113])).
% 8.02/5.39  tff(119,plain,(
% 8.02/5.39      ![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~(message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V)))) & b_stored(pair(X, Y)))))),
% 8.02/5.39      inference(skolemize,[status(sab)],[118])).
% 8.02/5.39  tff(120,plain,
% 8.02/5.39      (![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[119, 112])).
% 8.02/5.39  tff(121,plain,
% 8.02/5.39      (![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[120, 110])).
% 8.02/5.39  tff(122,plain,
% 8.02/5.39      (((~![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))) | (b_holds(key(an_a_nonce, a)) | (~b_stored(pair(a, an_a_nonce))) | (~message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))))) <=> ((~![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))) | b_holds(key(an_a_nonce, a)) | (~b_stored(pair(a, an_a_nonce))) | (~message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(123,plain,
% 8.02/5.39      ((~![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))) | (b_holds(key(an_a_nonce, a)) | (~b_stored(pair(a, an_a_nonce))) | (~message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))))),
% 8.02/5.39      inference(quant_inst,[status(thm)],[])).
% 8.02/5.39  tff(124,plain,
% 8.02/5.39      ((~![V: $i, X: $i, Y: $i] : (b_holds(key(V, X)) | (~b_stored(pair(X, Y))) | (~message(sent(X, b, pair(encrypt(triple(X, V, generate_expiration_time(Y)), bt), encrypt(generate_b_nonce(Y), V))))))) | b_holds(key(an_a_nonce, a)) | (~b_stored(pair(a, an_a_nonce))) | (~message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[123, 122])).
% 8.02/5.39  tff(125,plain,
% 8.02/5.39      (b_holds(key(an_a_nonce, a)) | (~message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[124, 121, 108])).
% 8.02/5.39  tff(126,plain,
% 8.02/5.39      (~message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[125, 86])).
% 8.02/5.39  tff(127,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : refl((message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V))) <=> (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(128,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V))) <=> ![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[127])).
% 8.02/5.39  tff(129,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : trans(monotonicity(trans(monotonicity(rewrite((intruder_message(U) & party_of_protocol(V) & party_of_protocol(W)) <=> (~((~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V))))), ((~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))) <=> (~(~((~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V))))))), rewrite((~(~((~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V))))) <=> ((~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))), ((~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))) <=> ((~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V))))), ((message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W)))) <=> (message(sent(V, W, U)) | ((~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))))), rewrite((message(sent(V, W, U)) | ((~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) <=> (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))), ((message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W)))) <=> (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(130,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W)))) <=> ![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[129])).
% 8.02/5.39  tff(131,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W)))) <=> ![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(132,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : trans(monotonicity(rewrite(((intruder_message(U) & party_of_protocol(V)) & party_of_protocol(W)) <=> (intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))), ((((intruder_message(U) & party_of_protocol(V)) & party_of_protocol(W)) => message(sent(V, W, U))) <=> ((intruder_message(U) & party_of_protocol(V) & party_of_protocol(W)) => message(sent(V, W, U))))), rewrite(((intruder_message(U) & party_of_protocol(V) & party_of_protocol(W)) => message(sent(V, W, U))) <=> (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))), ((((intruder_message(U) & party_of_protocol(V)) & party_of_protocol(W)) => message(sent(V, W, U))) <=> (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(133,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (((intruder_message(U) & party_of_protocol(V)) & party_of_protocol(W)) => message(sent(V, W, U))) <=> ![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[132])).
% 8.02/5.39  tff(134,axiom,(![U: $i, V: $i, W: $i] : (((intruder_message(U) & party_of_protocol(V)) & party_of_protocol(W)) => message(sent(V, W, U)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','intruder_message_sent')).
% 8.02/5.39  tff(135,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[134, 133])).
% 8.02/5.39  tff(136,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[135, 131])).
% 8.02/5.39  tff(137,plain,(
% 8.02/5.39      ![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 8.02/5.39      inference(skolemize,[status(sab)],[136])).
% 8.02/5.39  tff(138,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[137, 130])).
% 8.02/5.39  tff(139,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[138, 128])).
% 8.02/5.39  tff(140,plain,
% 8.02/5.39      (party_of_protocol(a) <=> party_of_protocol(a)),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(141,axiom,(party_of_protocol(a)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','a_is_party_of_protocol')).
% 8.02/5.39  tff(142,plain,
% 8.02/5.39      (party_of_protocol(a)),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[141, 140])).
% 8.02/5.39  tff(143,plain,
% 8.02/5.39      (((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | ((~party_of_protocol(a)) | (~party_of_protocol(b)) | message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))))) <=> ((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | (~party_of_protocol(a)) | (~party_of_protocol(b)) | message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(144,plain,
% 8.02/5.39      ((message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~party_of_protocol(b)) | (~party_of_protocol(a))) <=> ((~party_of_protocol(a)) | (~party_of_protocol(b)) | message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(145,plain,
% 8.02/5.39      (((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | (message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~party_of_protocol(b)) | (~party_of_protocol(a)))) <=> ((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | ((~party_of_protocol(a)) | (~party_of_protocol(b)) | message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))))),
% 8.02/5.39      inference(monotonicity,[status(thm)],[144])).
% 8.02/5.39  tff(146,plain,
% 8.02/5.39      (((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | (message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~party_of_protocol(b)) | (~party_of_protocol(a)))) <=> ((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | (~party_of_protocol(a)) | (~party_of_protocol(b)) | message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))))),
% 8.02/5.39      inference(transitivity,[status(thm)],[145, 143])).
% 8.02/5.39  tff(147,plain,
% 8.02/5.39      ((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | (message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~party_of_protocol(b)) | (~party_of_protocol(a)))),
% 8.02/5.39      inference(quant_inst,[status(thm)],[])).
% 8.02/5.39  tff(148,plain,
% 8.02/5.39      ((~![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))) | (~party_of_protocol(a)) | (~party_of_protocol(b)) | message(sent(a, b, pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) | (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[147, 146])).
% 8.02/5.39  tff(149,plain,
% 8.02/5.39      (~intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[148, 142, 54, 139, 126])).
% 8.02/5.39  tff(150,plain,
% 8.02/5.39      (((~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))) | (~b_stored(pair(a, an_a_nonce)))) | message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))),
% 8.02/5.39      inference(tautology,[status(thm)],[])).
% 8.02/5.39  tff(151,plain,
% 8.02/5.39      (message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[150, 106])).
% 8.02/5.39  tff(152,plain,
% 8.02/5.39      (((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | (intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))))) <=> ((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(153,plain,
% 8.02/5.39      ((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | (intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))))),
% 8.02/5.39      inference(quant_inst,[status(thm)],[])).
% 8.02/5.39  tff(154,plain,
% 8.02/5.39      ((~![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))) | intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~message(sent(b, t, triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[153, 152])).
% 8.02/5.39  tff(155,plain,
% 8.02/5.39      (intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[154, 11, 151])).
% 8.02/5.39  tff(156,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : refl(((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U))))) <=> ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U))))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(157,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U))))) <=> ![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[156])).
% 8.02/5.39  tff(158,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : rewrite(((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W))) <=> ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U))))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(159,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W))) <=> ![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[158])).
% 8.02/5.39  tff(160,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W))) <=> ![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(161,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : trans(monotonicity(rewrite(((intruder_message(U) & intruder_message(V)) & intruder_message(W)) <=> (intruder_message(U) & intruder_message(V) & intruder_message(W))), ((intruder_message(triple(U, V, W)) => ((intruder_message(U) & intruder_message(V)) & intruder_message(W))) <=> (intruder_message(triple(U, V, W)) => (intruder_message(U) & intruder_message(V) & intruder_message(W))))), rewrite((intruder_message(triple(U, V, W)) => (intruder_message(U) & intruder_message(V) & intruder_message(W))) <=> ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))), ((intruder_message(triple(U, V, W)) => ((intruder_message(U) & intruder_message(V)) & intruder_message(W))) <=> ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(162,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (intruder_message(triple(U, V, W)) => ((intruder_message(U) & intruder_message(V)) & intruder_message(W))) <=> ![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[161])).
% 8.02/5.39  tff(163,axiom,(![U: $i, V: $i, W: $i] : (intruder_message(triple(U, V, W)) => ((intruder_message(U) & intruder_message(V)) & intruder_message(W)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','intruder_decomposes_triples')).
% 8.02/5.39  tff(164,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[163, 162])).
% 8.02/5.39  tff(165,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[164, 160])).
% 8.02/5.39  tff(166,plain,(
% 8.02/5.39      ![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 8.02/5.39      inference(skolemize,[status(sab)],[165])).
% 8.02/5.39  tff(167,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[166, 159])).
% 8.02/5.39  tff(168,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[167, 157])).
% 8.02/5.39  tff(169,plain,
% 8.02/5.39      (((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | ((~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))))) <=> ((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | (~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(170,plain,
% 8.02/5.39      (((~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(b))))) <=> ((~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(171,plain,
% 8.02/5.39      (((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | ((~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(b)))))) <=> ((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | ((~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))))))),
% 8.02/5.39      inference(monotonicity,[status(thm)],[170])).
% 8.02/5.39  tff(172,plain,
% 8.02/5.39      (((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | ((~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(b)))))) <=> ((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | (~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))))),
% 8.02/5.39      inference(transitivity,[status(thm)],[171, 169])).
% 8.02/5.39  tff(173,plain,
% 8.02/5.39      ((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | ((~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(b)))))),
% 8.02/5.39      inference(quant_inst,[status(thm)],[])).
% 8.02/5.39  tff(174,plain,
% 8.02/5.39      ((~![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))) | (~intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | (~((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[173, 172])).
% 8.02/5.39  tff(175,plain,
% 8.02/5.39      (~((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[174, 168, 155])).
% 8.02/5.39  tff(176,plain,
% 8.02/5.39      (((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))),
% 8.02/5.39      inference(tautology,[status(thm)],[])).
% 8.02/5.39  tff(177,plain,
% 8.02/5.39      (intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[176, 175])).
% 8.02/5.39  tff(178,plain,
% 8.02/5.39      (^[U: $i, V: $i] : refl((intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V))) <=> (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(179,plain,
% 8.02/5.39      (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V))) <=> ![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[178])).
% 8.02/5.39  tff(180,plain,
% 8.02/5.39      (^[U: $i, V: $i] : trans(monotonicity(trans(monotonicity(rewrite((intruder_message(U) & intruder_message(V)) <=> (~((~intruder_message(U)) | (~intruder_message(V))))), ((~(intruder_message(U) & intruder_message(V))) <=> (~(~((~intruder_message(U)) | (~intruder_message(V))))))), rewrite((~(~((~intruder_message(U)) | (~intruder_message(V))))) <=> ((~intruder_message(U)) | (~intruder_message(V)))), ((~(intruder_message(U) & intruder_message(V))) <=> ((~intruder_message(U)) | (~intruder_message(V))))), ((intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V)))) <=> (intruder_message(pair(U, V)) | ((~intruder_message(U)) | (~intruder_message(V)))))), rewrite((intruder_message(pair(U, V)) | ((~intruder_message(U)) | (~intruder_message(V)))) <=> (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))), ((intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V)))) <=> (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(181,plain,
% 8.02/5.39      (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V)))) <=> ![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[180])).
% 8.02/5.39  tff(182,plain,
% 8.02/5.39      (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V)))) <=> ![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(183,plain,
% 8.02/5.39      (^[U: $i, V: $i] : rewrite(((intruder_message(U) & intruder_message(V)) => intruder_message(pair(U, V))) <=> (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V)))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(184,plain,
% 8.02/5.39      (![U: $i, V: $i] : ((intruder_message(U) & intruder_message(V)) => intruder_message(pair(U, V))) <=> ![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[183])).
% 8.02/5.39  tff(185,axiom,(![U: $i, V: $i] : ((intruder_message(U) & intruder_message(V)) => intruder_message(pair(U, V)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','intruder_composes_pairs')).
% 8.02/5.39  tff(186,plain,
% 8.02/5.39      (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[185, 184])).
% 8.02/5.39  tff(187,plain,
% 8.02/5.39      (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[186, 182])).
% 8.02/5.39  tff(188,plain,(
% 8.02/5.39      ![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 8.02/5.39      inference(skolemize,[status(sab)],[187])).
% 8.02/5.39  tff(189,plain,
% 8.02/5.39      (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[188, 181])).
% 8.02/5.39  tff(190,plain,
% 8.02/5.39      (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[189, 179])).
% 8.02/5.39  tff(191,plain,
% 8.02/5.39      (((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | ((~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))) <=> ((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(192,plain,
% 8.02/5.39      ((intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))) <=> ((~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(193,plain,
% 8.02/5.39      (((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | (intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))) <=> ((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | ((~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))))),
% 8.02/5.39      inference(monotonicity,[status(thm)],[192])).
% 8.02/5.39  tff(194,plain,
% 8.02/5.39      (((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | (intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))) <=> ((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))),
% 8.02/5.39      inference(transitivity,[status(thm)],[193, 191])).
% 8.02/5.39  tff(195,plain,
% 8.02/5.39      ((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | (intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))))),
% 8.02/5.39      inference(quant_inst,[status(thm)],[])).
% 8.02/5.39  tff(196,plain,
% 8.02/5.39      ((~![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))) | intruder_message(pair(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt), encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))) | (~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)))),
% 8.02/5.39      inference(modus_ponens,[status(thm)],[195, 194])).
% 8.02/5.39  tff(197,plain,
% 8.02/5.39      ($false),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[196, 190, 177, 149, 60])).
% 8.02/5.39  tff(198,plain,(~intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))), inference(lemma,lemma(discharge,[]))).
% 8.02/5.39  tff(199,plain,
% 8.02/5.39      (((~intruder_message(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))) | intruder_message(generate_b_nonce(an_a_nonce))),
% 8.02/5.39      inference(tautology,[status(thm)],[])).
% 8.02/5.39  tff(200,plain,
% 8.02/5.39      (intruder_message(generate_b_nonce(an_a_nonce))),
% 8.02/5.39      inference(unit_resolution,[status(thm)],[199, 175])).
% 8.02/5.39  tff(201,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : refl((intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W))) <=> (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(202,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W))) <=> ![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[201])).
% 8.02/5.39  tff(203,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : trans(monotonicity(trans(monotonicity(rewrite((intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W)) <=> (~((~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W))))), ((~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))) <=> (~(~((~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W))))))), rewrite((~(~((~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W))))) <=> ((~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))), ((~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))) <=> ((~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W))))), ((intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W)))) <=> (intruder_message(encrypt(U, V)) | ((~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))))), rewrite((intruder_message(encrypt(U, V)) | ((~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) <=> (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))), ((intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W)))) <=> (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))))),
% 8.02/5.39      inference(bind,[status(th)],[])).
% 8.02/5.39  tff(204,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W)))) <=> ![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))),
% 8.02/5.39      inference(quant_intro,[status(thm)],[203])).
% 8.02/5.39  tff(205,plain,
% 8.02/5.39      (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W)))) <=> ![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 8.02/5.39      inference(rewrite,[status(thm)],[])).
% 8.02/5.39  tff(206,plain,
% 8.02/5.39      (^[U: $i, V: $i, W: $i] : trans(monotonicity(rewrite(((intruder_message(U) & intruder_holds(key(V, W))) & party_of_protocol(W)) <=> (intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))), ((((intruder_message(U) & intruder_holds(key(V, W))) & party_of_protocol(W)) => intruder_message(encrypt(U, V))) <=> ((intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W)) => intruder_message(encrypt(U, V))))), rewrite(((intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W)) => intruder_message(encrypt(U, V))) <=> (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))), ((((intruder_message(U) & intruder_holds(key(V, W))) & party_of_protocol(W)) => intruder_message(encrypt(U, V))) <=> (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))))),
% 8.02/5.40      inference(bind,[status(th)],[])).
% 8.02/5.40  tff(207,plain,
% 8.02/5.40      (![U: $i, V: $i, W: $i] : (((intruder_message(U) & intruder_holds(key(V, W))) & party_of_protocol(W)) => intruder_message(encrypt(U, V))) <=> ![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 8.02/5.40      inference(quant_intro,[status(thm)],[206])).
% 8.02/5.40  tff(208,axiom,(![U: $i, V: $i, W: $i] : (((intruder_message(U) & intruder_holds(key(V, W))) & party_of_protocol(W)) => intruder_message(encrypt(U, V)))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','intruder_key_encrypts')).
% 8.02/5.40  tff(209,plain,
% 8.02/5.40      (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 8.02/5.40      inference(modus_ponens,[status(thm)],[208, 207])).
% 8.02/5.40  tff(210,plain,
% 8.02/5.40      (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 8.02/5.40      inference(modus_ponens,[status(thm)],[209, 205])).
% 8.02/5.40  tff(211,plain,(
% 8.02/5.40      ![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 8.02/5.40      inference(skolemize,[status(sab)],[210])).
% 8.02/5.40  tff(212,plain,
% 8.02/5.40      (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))),
% 8.02/5.40      inference(modus_ponens,[status(thm)],[211, 204])).
% 8.02/5.40  tff(213,plain,
% 8.02/5.40      (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))),
% 8.02/5.40      inference(modus_ponens,[status(thm)],[212, 202])).
% 8.02/5.40  tff(214,plain,
% 8.02/5.40      (((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | ((~party_of_protocol(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_holds(key(an_a_nonce, b))))) <=> ((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | (~party_of_protocol(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_holds(key(an_a_nonce, b))))),
% 8.02/5.40      inference(rewrite,[status(thm)],[])).
% 8.02/5.40  tff(215,plain,
% 8.02/5.40      ((intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_holds(key(an_a_nonce, b))) | (~party_of_protocol(b))) <=> ((~party_of_protocol(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_holds(key(an_a_nonce, b))))),
% 8.02/5.40      inference(rewrite,[status(thm)],[])).
% 8.02/5.40  tff(216,plain,
% 8.02/5.40      (((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | (intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_holds(key(an_a_nonce, b))) | (~party_of_protocol(b)))) <=> ((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | ((~party_of_protocol(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_holds(key(an_a_nonce, b)))))),
% 8.02/5.40      inference(monotonicity,[status(thm)],[215])).
% 8.02/5.40  tff(217,plain,
% 8.02/5.40      (((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | (intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_holds(key(an_a_nonce, b))) | (~party_of_protocol(b)))) <=> ((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | (~party_of_protocol(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_holds(key(an_a_nonce, b))))),
% 8.02/5.40      inference(transitivity,[status(thm)],[216, 214])).
% 8.02/5.40  tff(218,plain,
% 8.02/5.40      ((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | (intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | (~intruder_holds(key(an_a_nonce, b))) | (~party_of_protocol(b)))),
% 8.02/5.40      inference(quant_inst,[status(thm)],[])).
% 8.02/5.40  tff(219,plain,
% 8.02/5.40      ((~![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))) | (~party_of_protocol(b)) | (~intruder_message(generate_b_nonce(an_a_nonce))) | intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_holds(key(an_a_nonce, b)))),
% 8.02/5.40      inference(modus_ponens,[status(thm)],[218, 217])).
% 8.02/5.40  tff(220,plain,
% 8.02/5.40      ($false),
% 8.02/5.40      inference(unit_resolution,[status(thm)],[219, 54, 213, 200, 198, 59])).
% 8.02/5.40  % SZS output end Proof
%------------------------------------------------------------------------------