↑ Up

Z3---4.15.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% 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
%------------------------------------------------------------------------------