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

View Problem - Process Solution

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

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

% Result   : Unsatisfiable 2.08s 1.58s
% Output   : Proof 2.08s
% Verified : 
% SZS Type : -

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