%------------------------------------------------------------------------------
% File : Z3---4.15.1
% Problem : SWV014+1 : TPTP v9.0.0. Released v2.4.0.
% Transfm : none
% Format : tptp
% Command : run_E %s %d THM
% Computer : n003.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 : Sat Jun 21 05:31:20 AM UTC 2025
% Result : Theorem 5.16s 5.31s
% Output : Proof 5.16s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12 % Problem : SWV014+1 : TPTP v9.0.0. Released v2.4.0.
% 0.03/0.12 % Command : run_E %s %d THM
% 0.12/0.33 % Computer : n003.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 : Fri Jun 20 09:21:39 EDT 2025
% 0.12/0.33 % CPUTime :
% 5.16/5.31 % SZS status Theorem
% 5.16/5.31 % SZS output start Proof
% 5.16/5.31 tff(intruder_message_type, type, (
% 5.16/5.31 intruder_message: $i > $o)).
% 5.16/5.31 tff(pair_type, type, (
% 5.16/5.31 pair: ( $i * $i ) > $i)).
% 5.16/5.31 tff(encrypt_type, type, (
% 5.16/5.31 encrypt: ( $i * $i ) > $i)).
% 5.16/5.31 tff(an_a_nonce_type, type, (
% 5.16/5.31 an_a_nonce: $i)).
% 5.16/5.31 tff(generate_b_nonce_type, type, (
% 5.16/5.31 generate_b_nonce: $i > $i)).
% 5.16/5.31 tff(bt_type, type, (
% 5.16/5.31 bt: $i)).
% 5.16/5.31 tff(triple_type, type, (
% 5.16/5.31 triple: ( $i * $i * $i ) > $i)).
% 5.16/5.31 tff(generate_expiration_time_type, type, (
% 5.16/5.31 generate_expiration_time: $i > $i)).
% 5.16/5.31 tff(a_type, type, (
% 5.16/5.31 a: $i)).
% 5.16/5.31 tff(message_type, type, (
% 5.16/5.31 message: $i > $o)).
% 5.16/5.31 tff(sent_type, type, (
% 5.16/5.31 sent: ( $i * $i * $i ) > $i)).
% 5.16/5.31 tff(b_type, type, (
% 5.16/5.31 b: $i)).
% 5.16/5.31 tff(b_holds_type, type, (
% 5.16/5.31 b_holds: $i > $o)).
% 5.16/5.31 tff(key_type, type, (
% 5.16/5.31 key: ( $i * $i ) > $i)).
% 5.16/5.31 tff(intruder_holds_type, type, (
% 5.16/5.31 intruder_holds: $i > $o)).
% 5.16/5.31 tff(party_of_protocol_type, type, (
% 5.16/5.31 party_of_protocol: $i > $o)).
% 5.16/5.31 tff(b_stored_type, type, (
% 5.16/5.31 b_stored: $i > $o)).
% 5.16/5.31 tff(t_type, type, (
% 5.16/5.31 t: $i)).
% 5.16/5.31 tff(fresh_to_b_type, type, (
% 5.16/5.32 fresh_to_b: $i > $o)).
% 5.16/5.32 tff(1,assumption,(~intruder_holds(key(an_a_nonce, b))), introduced(assumption)).
% 5.16/5.32 tff(2,plain,
% 5.16/5.32 (^[U: $i, V: $i, W: $i] : refl((intruder_message(W) | (~message(sent(U, V, W)))) <=> (intruder_message(W) | (~message(sent(U, V, W)))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(3,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[2])).
% 5.16/5.32 tff(4,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(5,plain,
% 5.16/5.32 (^[U: $i, V: $i, W: $i] : rewrite((message(sent(U, V, W)) => intruder_message(W)) <=> (intruder_message(W) | (~message(sent(U, V, W)))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(6,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[5])).
% 5.16/5.32 tff(7,axiom,(![U: $i, V: $i, W: $i] : (message(sent(U, V, W)) => intruder_message(W))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','intruder_can_record')).
% 5.16/5.32 tff(8,plain,
% 5.16/5.32 (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[7, 6])).
% 5.16/5.32 tff(9,plain,
% 5.16/5.32 (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[8, 4])).
% 5.16/5.32 tff(10,plain,(
% 5.16/5.32 ![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 5.16/5.32 inference(skolemize,[status(sab)],[9])).
% 5.16/5.32 tff(11,plain,
% 5.16/5.32 (![U: $i, V: $i, W: $i] : (intruder_message(W) | (~message(sent(U, V, W))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[10, 3])).
% 5.16/5.32 tff(12,plain,
% 5.16/5.32 (message(sent(a, b, pair(a, an_a_nonce))) <=> message(sent(a, b, pair(a, an_a_nonce)))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(13,axiom,(message(sent(a, b, pair(a, an_a_nonce)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','a_sent_message_i_to_b')).
% 5.16/5.32 tff(14,plain,
% 5.16/5.32 (message(sent(a, b, pair(a, an_a_nonce)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[13, 12])).
% 5.16/5.32 tff(15,plain,
% 5.16/5.32 (((~![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)))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(16,plain,
% 5.16/5.32 ((~![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)))))),
% 5.16/5.32 inference(quant_inst,[status(thm)],[])).
% 5.16/5.32 tff(17,plain,
% 5.16/5.32 ((~![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))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[16, 15])).
% 5.16/5.32 tff(18,plain,
% 5.16/5.32 (intruder_message(pair(a, an_a_nonce))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[17, 14, 11])).
% 5.16/5.32 tff(19,plain,
% 5.16/5.32 (^[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))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(20,plain,
% 5.16/5.32 (![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)))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[19])).
% 5.16/5.32 tff(21,plain,
% 5.16/5.32 (^[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))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(22,plain,
% 5.16/5.32 (![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)))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[21])).
% 5.16/5.32 tff(23,plain,
% 5.16/5.32 (![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)))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(24,plain,
% 5.16/5.32 (^[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))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(25,plain,
% 5.16/5.32 (![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)))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[24])).
% 5.16/5.32 tff(26,axiom,(![U: $i, V: $i] : (intruder_message(pair(U, V)) => (intruder_message(U) & intruder_message(V)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','intruder_decomposes_pairs')).
% 5.16/5.32 tff(27,plain,
% 5.16/5.32 (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[26, 25])).
% 5.16/5.32 tff(28,plain,
% 5.16/5.32 (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[27, 23])).
% 5.16/5.32 tff(29,plain,(
% 5.16/5.32 ![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (intruder_message(U) & intruder_message(V)))),
% 5.16/5.32 inference(skolemize,[status(sab)],[28])).
% 5.16/5.32 tff(30,plain,
% 5.16/5.32 (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[29, 22])).
% 5.16/5.32 tff(31,plain,
% 5.16/5.32 (![U: $i, V: $i] : ((~intruder_message(pair(U, V))) | (~((~intruder_message(U)) | (~intruder_message(V)))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[30, 20])).
% 5.16/5.32 tff(32,plain,
% 5.16/5.32 (((~![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)))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(33,plain,
% 5.16/5.32 ((~![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)))))),
% 5.16/5.32 inference(quant_inst,[status(thm)],[])).
% 5.16/5.32 tff(34,plain,
% 5.16/5.32 ((~![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))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[33, 32])).
% 5.16/5.32 tff(35,plain,
% 5.16/5.32 ((~intruder_message(pair(a, an_a_nonce))) | (~((~intruder_message(a)) | (~intruder_message(an_a_nonce))))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[34, 31])).
% 5.16/5.32 tff(36,plain,
% 5.16/5.32 (~((~intruder_message(a)) | (~intruder_message(an_a_nonce)))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[35, 18])).
% 5.16/5.32 tff(37,plain,
% 5.16/5.32 (((~intruder_message(a)) | (~intruder_message(an_a_nonce))) | intruder_message(an_a_nonce)),
% 5.16/5.32 inference(tautology,[status(thm)],[])).
% 5.16/5.32 tff(38,plain,
% 5.16/5.32 (intruder_message(an_a_nonce)),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[37, 36])).
% 5.16/5.32 tff(39,plain,
% 5.16/5.32 (^[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))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(40,plain,
% 5.16/5.32 (![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)))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[39])).
% 5.16/5.32 tff(41,plain,
% 5.16/5.32 (^[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)))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(42,plain,
% 5.16/5.32 (![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)))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[41])).
% 5.16/5.32 tff(43,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(44,plain,
% 5.16/5.32 (^[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)))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(45,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[44])).
% 5.16/5.32 tff(46,axiom,(![V: $i, W: $i] : ((intruder_message(V) & party_of_protocol(W)) => intruder_holds(key(V, W)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','intruder_holds_key')).
% 5.16/5.32 tff(47,plain,
% 5.16/5.32 (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[46, 45])).
% 5.16/5.32 tff(48,plain,
% 5.16/5.32 (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[47, 43])).
% 5.16/5.32 tff(49,plain,(
% 5.16/5.32 ![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~(intruder_message(V) & party_of_protocol(W))))),
% 5.16/5.32 inference(skolemize,[status(sab)],[48])).
% 5.16/5.32 tff(50,plain,
% 5.16/5.32 (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[49, 42])).
% 5.16/5.32 tff(51,plain,
% 5.16/5.32 (![V: $i, W: $i] : (intruder_holds(key(V, W)) | (~intruder_message(V)) | (~party_of_protocol(W)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[50, 40])).
% 5.16/5.32 tff(52,plain,
% 5.16/5.32 (party_of_protocol(b) <=> party_of_protocol(b)),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(53,axiom,(party_of_protocol(b)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','b_is_party_of_protocol')).
% 5.16/5.32 tff(54,plain,
% 5.16/5.32 (party_of_protocol(b)),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[53, 52])).
% 5.16/5.32 tff(55,plain,
% 5.16/5.32 (((~![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)))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(56,plain,
% 5.16/5.32 ((~![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)))),
% 5.16/5.32 inference(quant_inst,[status(thm)],[])).
% 5.16/5.32 tff(57,plain,
% 5.16/5.32 ((~![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))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[56, 55])).
% 5.16/5.32 tff(58,plain,
% 5.16/5.32 ($false),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[57, 54, 51, 38, 1])).
% 5.16/5.32 tff(59,plain,(intruder_holds(key(an_a_nonce, b))), inference(lemma,lemma(discharge,[]))).
% 5.16/5.32 tff(60,plain,
% 5.16/5.32 (^[U: $i] : refl(((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))) <=> ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(61,plain,
% 5.16/5.32 (![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a)))) <=> ![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[60])).
% 5.16/5.32 tff(62,plain,
% 5.16/5.32 (^[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))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(63,plain,
% 5.16/5.32 (![U: $i] : (~(intruder_holds(key(U, b)) & b_holds(key(U, a)))) <=> ![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[62])).
% 5.16/5.32 tff(64,plain,
% 5.16/5.32 ((~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))) <=> (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(65,axiom,(~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','co1')).
% 5.16/5.32 tff(66,plain,
% 5.16/5.32 (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[65, 64])).
% 5.16/5.32 tff(67,plain,
% 5.16/5.32 (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[66, 64])).
% 5.16/5.32 tff(68,plain,
% 5.16/5.32 (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[67, 64])).
% 5.16/5.32 tff(69,plain,
% 5.16/5.32 (~?[U: $i] : (intruder_holds(key(U, b)) & b_holds(key(U, a)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[68, 64])).
% 5.16/5.32 tff(70,plain,
% 5.16/5.32 (^[U: $i] : refl($oeq((~(intruder_holds(key(U, b)) & b_holds(key(U, a)))), (~(intruder_holds(key(U, b)) & b_holds(key(U, a))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(71,plain,(
% 5.16/5.32 ![U: $i] : (~(intruder_holds(key(U, b)) & b_holds(key(U, a))))),
% 5.16/5.32 inference(nnf-neg,[status(sab)],[69, 70])).
% 5.16/5.32 tff(72,plain,
% 5.16/5.32 (![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[71, 63])).
% 5.16/5.32 tff(73,plain,
% 5.16/5.32 (![U: $i] : ((~intruder_holds(key(U, b))) | (~b_holds(key(U, a))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[72, 61])).
% 5.16/5.32 tff(74,plain,
% 5.16/5.32 (((~![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))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(75,plain,
% 5.16/5.32 (((~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))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(76,plain,
% 5.16/5.32 (((~![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)))))),
% 5.16/5.32 inference(monotonicity,[status(thm)],[75])).
% 5.16/5.32 tff(77,plain,
% 5.16/5.32 (((~![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))))),
% 5.16/5.32 inference(transitivity,[status(thm)],[76, 74])).
% 5.16/5.32 tff(78,plain,
% 5.16/5.32 ((~![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))))),
% 5.16/5.32 inference(quant_inst,[status(thm)],[])).
% 5.16/5.32 tff(79,plain,
% 5.16/5.32 ((~![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)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[78, 77])).
% 5.16/5.32 tff(80,plain,
% 5.16/5.32 (~b_holds(key(an_a_nonce, a))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[79, 73, 59])).
% 5.16/5.32 tff(81,plain,
% 5.16/5.32 (^[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)))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(82,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[81])).
% 5.16/5.32 tff(83,plain,
% 5.16/5.32 (^[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))))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(84,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[83])).
% 5.16/5.32 tff(85,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(86,plain,
% 5.16/5.32 (^[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)))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(87,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[86])).
% 5.16/5.32 tff(88,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/sandbox/benchmark/theBenchmark.p','b_creates_freash_nonces_in_time')).
% 5.16/5.32 tff(89,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[88, 87])).
% 5.16/5.32 tff(90,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[89, 85])).
% 5.16/5.32 tff(91,plain,(
% 5.16/5.32 ![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))))),
% 5.16/5.32 inference(skolemize,[status(sab)],[90])).
% 5.16/5.32 tff(92,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[91, 84])).
% 5.16/5.32 tff(93,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[92, 82])).
% 5.16/5.32 tff(94,plain,
% 5.16/5.32 (fresh_to_b(an_a_nonce) <=> fresh_to_b(an_a_nonce)),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(95,axiom,(fresh_to_b(an_a_nonce)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','nonce_a_is_fresh_to_b')).
% 5.16/5.32 tff(96,plain,
% 5.16/5.32 (fresh_to_b(an_a_nonce)),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[95, 94])).
% 5.16/5.32 tff(97,plain,
% 5.16/5.32 (((~![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))))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(98,plain,
% 5.16/5.32 ((~![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))))))),
% 5.16/5.32 inference(quant_inst,[status(thm)],[])).
% 5.16/5.32 tff(99,plain,
% 5.16/5.32 ((~![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)))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[98, 97])).
% 5.16/5.32 tff(100,plain,
% 5.16/5.32 (~((~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))))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[99, 14, 96, 93])).
% 5.16/5.32 tff(101,plain,
% 5.16/5.32 (((~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))),
% 5.16/5.32 inference(tautology,[status(thm)],[])).
% 5.16/5.32 tff(102,plain,
% 5.16/5.32 (b_stored(pair(a, an_a_nonce))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[101, 100])).
% 5.16/5.32 tff(103,plain,
% 5.16/5.32 (^[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)))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(104,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[103])).
% 5.16/5.32 tff(105,plain,
% 5.16/5.32 (^[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))))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(106,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[105])).
% 5.16/5.32 tff(107,plain,
% 5.16/5.32 (![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)))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(108,plain,
% 5.16/5.32 (^[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))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(109,plain,
% 5.16/5.32 (![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)))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[108])).
% 5.16/5.32 tff(110,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/sandbox/benchmark/theBenchmark.p','b_accepts_secure_session_key')).
% 5.16/5.32 tff(111,plain,
% 5.16/5.32 (![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)))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[110, 109])).
% 5.16/5.32 tff(112,plain,
% 5.16/5.32 (![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)))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[111, 107])).
% 5.16/5.32 tff(113,plain,(
% 5.16/5.32 ![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)))))),
% 5.16/5.32 inference(skolemize,[status(sab)],[112])).
% 5.16/5.32 tff(114,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[113, 106])).
% 5.16/5.32 tff(115,plain,
% 5.16/5.32 (![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))))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[114, 104])).
% 5.16/5.32 tff(116,plain,
% 5.16/5.32 (((~![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))))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(117,plain,
% 5.16/5.32 ((~![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))))))),
% 5.16/5.32 inference(quant_inst,[status(thm)],[])).
% 5.16/5.32 tff(118,plain,
% 5.16/5.32 ((~![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)))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[117, 116])).
% 5.16/5.32 tff(119,plain,
% 5.16/5.32 (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)))))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[118, 115, 102])).
% 5.16/5.32 tff(120,plain,
% 5.16/5.32 (~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))))),
% 5.16/5.32 inference(unit_resolution,[status(thm)],[119, 80])).
% 5.16/5.32 tff(121,plain,
% 5.16/5.32 (^[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))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(122,plain,
% 5.16/5.32 (![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)))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[121])).
% 5.16/5.32 tff(123,plain,
% 5.16/5.32 (^[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)))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(124,plain,
% 5.16/5.32 (![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)))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[123])).
% 5.16/5.32 tff(125,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(126,plain,
% 5.16/5.32 (^[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))))))),
% 5.16/5.32 inference(bind,[status(th)],[])).
% 5.16/5.32 tff(127,plain,
% 5.16/5.32 (![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))))),
% 5.16/5.32 inference(quant_intro,[status(thm)],[126])).
% 5.16/5.32 tff(128,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/sandbox/benchmark/theBenchmark.p','intruder_message_sent')).
% 5.16/5.32 tff(129,plain,
% 5.16/5.32 (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[128, 127])).
% 5.16/5.32 tff(130,plain,
% 5.16/5.32 (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[129, 125])).
% 5.16/5.32 tff(131,plain,(
% 5.16/5.32 ![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~(intruder_message(U) & party_of_protocol(V) & party_of_protocol(W))))),
% 5.16/5.32 inference(skolemize,[status(sab)],[130])).
% 5.16/5.32 tff(132,plain,
% 5.16/5.32 (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[131, 124])).
% 5.16/5.32 tff(133,plain,
% 5.16/5.32 (![U: $i, V: $i, W: $i] : (message(sent(V, W, U)) | (~intruder_message(U)) | (~party_of_protocol(W)) | (~party_of_protocol(V)))),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[132, 122])).
% 5.16/5.32 tff(134,plain,
% 5.16/5.32 (party_of_protocol(a) <=> party_of_protocol(a)),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(135,axiom,(party_of_protocol(a)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','a_is_party_of_protocol')).
% 5.16/5.32 tff(136,plain,
% 5.16/5.32 (party_of_protocol(a)),
% 5.16/5.32 inference(modus_ponens,[status(thm)],[135, 134])).
% 5.16/5.32 tff(137,plain,
% 5.16/5.32 (((~![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)))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(138,plain,
% 5.16/5.32 ((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)))))),
% 5.16/5.32 inference(rewrite,[status(thm)],[])).
% 5.16/5.32 tff(139,plain,
% 5.16/5.32 (((~![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))))))),
% 5.16/5.33 inference(monotonicity,[status(thm)],[138])).
% 5.16/5.33 tff(140,plain,
% 5.16/5.33 (((~![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)))))),
% 5.16/5.33 inference(transitivity,[status(thm)],[139, 137])).
% 5.16/5.33 tff(141,plain,
% 5.16/5.33 ((~![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)))),
% 5.16/5.33 inference(quant_inst,[status(thm)],[])).
% 5.16/5.33 tff(142,plain,
% 5.16/5.33 ((~![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))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[141, 140])).
% 5.16/5.33 tff(143,plain,
% 5.16/5.33 (~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)))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[142, 136, 54, 133, 120])).
% 5.16/5.33 tff(144,plain,
% 5.16/5.33 (((~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))))),
% 5.16/5.33 inference(tautology,[status(thm)],[])).
% 5.16/5.33 tff(145,plain,
% 5.16/5.33 (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))))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[144, 100])).
% 5.16/5.33 tff(146,plain,
% 5.16/5.33 (((~![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))))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(147,plain,
% 5.16/5.33 ((~![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))))))),
% 5.16/5.33 inference(quant_inst,[status(thm)],[])).
% 5.16/5.33 tff(148,plain,
% 5.16/5.33 ((~![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)))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[147, 146])).
% 5.16/5.33 tff(149,plain,
% 5.16/5.33 (intruder_message(triple(b, generate_b_nonce(an_a_nonce), encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt)))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[148, 11, 145])).
% 5.16/5.33 tff(150,plain,
% 5.16/5.33 (^[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))))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(151,plain,
% 5.16/5.33 (![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)))))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[150])).
% 5.16/5.33 tff(152,plain,
% 5.16/5.33 (^[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))))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(153,plain,
% 5.16/5.33 (![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)))))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[152])).
% 5.16/5.33 tff(154,plain,
% 5.16/5.33 (![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)))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(155,plain,
% 5.16/5.33 (^[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)))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(156,plain,
% 5.16/5.33 (![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)))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[155])).
% 5.16/5.33 tff(157,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/sandbox/benchmark/theBenchmark.p','intruder_decomposes_triples')).
% 5.16/5.33 tff(158,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[157, 156])).
% 5.16/5.33 tff(159,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[158, 154])).
% 5.16/5.33 tff(160,plain,(
% 5.16/5.33 ![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (intruder_message(U) & intruder_message(V) & intruder_message(W)))),
% 5.16/5.33 inference(skolemize,[status(sab)],[159])).
% 5.16/5.33 tff(161,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[160, 153])).
% 5.16/5.33 tff(162,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : ((~intruder_message(triple(U, V, W))) | (~((~intruder_message(V)) | (~intruder_message(W)) | (~intruder_message(U)))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[161, 151])).
% 5.16/5.33 tff(163,plain,
% 5.16/5.33 (((~![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))))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(164,plain,
% 5.16/5.33 (((~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))))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(165,plain,
% 5.16/5.33 (((~![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)))))))),
% 5.16/5.33 inference(monotonicity,[status(thm)],[164])).
% 5.16/5.33 tff(166,plain,
% 5.16/5.33 (((~![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))))))),
% 5.16/5.33 inference(transitivity,[status(thm)],[165, 163])).
% 5.16/5.33 tff(167,plain,
% 5.16/5.33 ((~![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)))))),
% 5.16/5.33 inference(quant_inst,[status(thm)],[])).
% 5.16/5.33 tff(168,plain,
% 5.16/5.33 ((~![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)))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[167, 166])).
% 5.16/5.33 tff(169,plain,
% 5.16/5.33 (~((~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))))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[168, 162, 149])).
% 5.16/5.33 tff(170,plain,
% 5.16/5.33 (((~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))),
% 5.16/5.33 inference(tautology,[status(thm)],[])).
% 5.16/5.33 tff(171,plain,
% 5.16/5.33 (intruder_message(generate_b_nonce(an_a_nonce))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[170, 169])).
% 5.16/5.33 tff(172,plain,
% 5.16/5.33 (^[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))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(173,plain,
% 5.16/5.33 (![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)))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[172])).
% 5.16/5.33 tff(174,plain,
% 5.16/5.33 (^[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)))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(175,plain,
% 5.16/5.33 (![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)))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[174])).
% 5.16/5.33 tff(176,plain,
% 5.16/5.33 (![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))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(177,plain,
% 5.16/5.33 (^[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))))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(178,plain,
% 5.16/5.33 (![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))))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[177])).
% 5.16/5.33 tff(179,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/sandbox/benchmark/theBenchmark.p','intruder_key_encrypts')).
% 5.16/5.33 tff(180,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[179, 178])).
% 5.16/5.33 tff(181,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[180, 176])).
% 5.16/5.33 tff(182,plain,(
% 5.16/5.33 ![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~(intruder_message(U) & intruder_holds(key(V, W)) & party_of_protocol(W))))),
% 5.16/5.33 inference(skolemize,[status(sab)],[181])).
% 5.16/5.33 tff(183,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[182, 175])).
% 5.16/5.33 tff(184,plain,
% 5.16/5.33 (![U: $i, V: $i, W: $i] : (intruder_message(encrypt(U, V)) | (~intruder_message(U)) | (~intruder_holds(key(V, W))) | (~party_of_protocol(W)))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[183, 173])).
% 5.16/5.33 tff(185,plain,
% 5.16/5.33 (((~![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))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(186,plain,
% 5.16/5.33 ((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))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(187,plain,
% 5.16/5.33 (((~![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)))))),
% 5.16/5.33 inference(monotonicity,[status(thm)],[186])).
% 5.16/5.33 tff(188,plain,
% 5.16/5.33 (((~![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))))),
% 5.16/5.33 inference(transitivity,[status(thm)],[187, 185])).
% 5.16/5.33 tff(189,plain,
% 5.16/5.33 ((~![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)))),
% 5.16/5.33 inference(quant_inst,[status(thm)],[])).
% 5.16/5.33 tff(190,plain,
% 5.16/5.33 ((~![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)))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[189, 188])).
% 5.16/5.33 tff(191,plain,
% 5.16/5.33 (intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce)) | (~intruder_holds(key(an_a_nonce, b)))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[190, 54, 184, 171])).
% 5.16/5.33 tff(192,plain,
% 5.16/5.33 (intruder_message(encrypt(generate_b_nonce(an_a_nonce), an_a_nonce))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[191, 59])).
% 5.16/5.33 tff(193,plain,
% 5.16/5.33 (((~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))),
% 5.16/5.33 inference(tautology,[status(thm)],[])).
% 5.16/5.33 tff(194,plain,
% 5.16/5.33 (intruder_message(encrypt(triple(a, an_a_nonce, generate_expiration_time(an_a_nonce)), bt))),
% 5.16/5.33 inference(unit_resolution,[status(thm)],[193, 169])).
% 5.16/5.33 tff(195,plain,
% 5.16/5.33 (^[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))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(196,plain,
% 5.16/5.33 (![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)))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[195])).
% 5.16/5.33 tff(197,plain,
% 5.16/5.33 (^[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)))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(198,plain,
% 5.16/5.33 (![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)))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[197])).
% 5.16/5.33 tff(199,plain,
% 5.16/5.33 (![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))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(200,plain,
% 5.16/5.33 (^[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)))))),
% 5.16/5.33 inference(bind,[status(th)],[])).
% 5.16/5.33 tff(201,plain,
% 5.16/5.33 (![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))))),
% 5.16/5.33 inference(quant_intro,[status(thm)],[200])).
% 5.16/5.33 tff(202,axiom,(![U: $i, V: $i] : ((intruder_message(U) & intruder_message(V)) => intruder_message(pair(U, V)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','intruder_composes_pairs')).
% 5.16/5.33 tff(203,plain,
% 5.16/5.33 (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[202, 201])).
% 5.16/5.33 tff(204,plain,
% 5.16/5.33 (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[203, 199])).
% 5.16/5.33 tff(205,plain,(
% 5.16/5.33 ![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~(intruder_message(U) & intruder_message(V))))),
% 5.16/5.33 inference(skolemize,[status(sab)],[204])).
% 5.16/5.33 tff(206,plain,
% 5.16/5.33 (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[205, 198])).
% 5.16/5.33 tff(207,plain,
% 5.16/5.33 (![U: $i, V: $i] : (intruder_message(pair(U, V)) | (~intruder_message(U)) | (~intruder_message(V)))),
% 5.16/5.33 inference(modus_ponens,[status(thm)],[206, 196])).
% 5.16/5.33 tff(208,plain,
% 5.16/5.33 (((~![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))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(209,plain,
% 5.16/5.33 ((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))))),
% 5.16/5.33 inference(rewrite,[status(thm)],[])).
% 5.16/5.33 tff(210,plain,
% 5.16/5.33 (((~![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)))))),
% 5.16/5.33 inference(monotonicity,[status(thm)],[209])).
% 5.16/5.33 tff(211,plain,
% 5.16/5.33 (((~![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))))),
% 5.16/5.33 inference(transitivity,[status(thm)],[210, 208])).
% 5.16/5.33 tff(212,plain,
% 5.16/5.33 ((~![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))))),
% 5.16/5.34 inference(quant_inst,[status(thm)],[])).
% 5.16/5.34 tff(213,plain,
% 5.16/5.34 ((~![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)))),
% 5.16/5.34 inference(modus_ponens,[status(thm)],[212, 211])).
% 5.16/5.34 tff(214,plain,
% 5.16/5.34 ($false),
% 5.16/5.34 inference(unit_resolution,[status(thm)],[213, 207, 194, 192, 143])).
% 5.16/5.34 % SZS output end Proof
% 5.16/5.34 % E exiting
%------------------------------------------------------------------------------