TPTP Problem File: SWX153_1.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SWX153_1 : TPTP v9.3.0. Released v9.3.0.
% Domain : Software Verification
% Problem : Bakery protocol example
% Version : Especial.
% English :
% Refs : [Kru09] Kruglov (2009), Email to Geoff Sutcliffe
% Source : [Kru09]
% Names : bakery.dfg [Kru09]
% Status : Theorem
% Rating : 0.00 v9.3.0
% Syntax : Number of formulae : 28 ( 0 unt; 9 typ; 0 def)
% Number of atoms : 52 ( 6 equ)
% Maximal formula atoms : 4 ( 2 avg)
% Number of connectives : 33 ( 0 ~; 6 |; 7 &)
% ( 0 <=>; 20 =>; 0 <=; 0 <~>)
% Maximal formula depth : 6 ( 5 avg)
% Maximal term depth : 2 ( 1 avg)
% Number arithmetic : 74 ( 8 atm; 6 fun; 20 num; 40 var)
% Number of types : 2 ( 0 usr; 1 ari)
% Number of type conns : 18 ( 9 >; 9 *; 0 +; 0 <<)
% Number of predicates : 12 ( 9 usr; 0 prp; 2-2 aty)
% Number of functors : 3 ( 0 usr; 2 con; 0-2 aty)
% Number of variables : 40 ( 38 !; 2 ?; 40 :)
% SPC : TF0_THM_EQU_ARI
% Comments :
%------------------------------------------------------------------------------
tff(type_sl1sl2,type,
sl1sl2: ( $int * $int ) > $o ).
tff(type_w1w2,type,
w1w2: ( $int * $int ) > $o ).
tff(type_cr1cr2,type,
cr1cr2: ( $int * $int ) > $o ).
tff(type_sl1w2,type,
sl1w2: ( $int * $int ) > $o ).
tff(type_w1cr2,type,
w1cr2: ( $int * $int ) > $o ).
tff(type_sl1cr2,type,
sl1cr2: ( $int * $int ) > $o ).
tff(type_w1sl2,type,
w1sl2: ( $int * $int ) > $o ).
tff(type_cr1w2,type,
cr1w2: ( $int * $int ) > $o ).
tff(type_cr1sl2,type,
cr1sl2: ( $int * $int ) > $o ).
tff(ax1,axiom,
! [X: $int,Y: $int] :
( sl1sl2(X,Y)
=> sl1w2(X,$sum(X,1)) ) ).
tff(ax2,axiom,
! [X: $int,Y: $int] :
( ( sl1w2(X,Y)
& ( ( X = 0 )
| $less(Y,X) ) )
=> sl1cr2(X,Y) ) ).
tff(ax3,axiom,
! [X: $int,Y: $int] :
( sl1w2(X,Y)
=> w1w2($sum(Y,1),Y) ) ).
tff(ax4,axiom,
! [X: $int,Y: $int] :
( ( w1w2(X,Y)
& ( ( X = 0 )
| $less(Y,X) ) )
=> w1cr2(X,Y) ) ).
tff(ax5,axiom,
! [X: $int,Y: $int] :
( sl1cr2(X,Y)
=> w1cr2($sum(Y,1),Y) ) ).
tff(ax6,axiom,
! [X: $int,Y: $int] :
( sl1cr2(X,Y)
=> sl1sl2(X,0) ) ).
tff(ax7,axiom,
! [X: $int,Y: $int] :
( ( w1cr2(X,Y)
& ( ( Y = 0 )
| $less(X,Y) ) )
=> cr1cr2(X,Y) ) ).
tff(ax8,axiom,
! [X: $int,Y: $int] :
( w1cr2(X,Y)
=> w1sl2(X,0) ) ).
tff(ax9,axiom,
! [X: $int,Y: $int] :
( cr1cr2(X,Y)
=> sl1cr2(0,Y) ) ).
%-------- Bottom part ----------
tff(ax10,axiom,
! [X: $int,Y: $int] :
( sl1sl2(X,Y)
=> w1sl2($sum(Y,1),Y) ) ).
tff(ax11,axiom,
! [X: $int,Y: $int] :
( ( w1sl2(X,Y)
& ( ( Y = 0 )
| $less(X,Y) ) )
=> cr1sl2(X,Y) ) ).
tff(ax12,axiom,
! [X: $int,Y: $int] :
( w1sl2(X,Y)
=> w1w2(X,$sum(X,1)) ) ).
tff(ax13,axiom,
! [X: $int,Y: $int] :
( ( w1w2(X,Y)
& ( ( Y = 0 )
| $less(X,Y) ) )
=> cr1w2(X,Y) ) ).
tff(ax14,axiom,
! [X: $int,Y: $int] :
( cr1sl2(X,Y)
=> cr1w2(X,$sum(X,1)) ) ).
tff(ax15,axiom,
! [X: $int,Y: $int] :
( cr1sl2(X,Y)
=> sl1sl2(0,Y) ) ).
tff(ax16,axiom,
! [X: $int,Y: $int] :
( ( cr1w2(X,Y)
& ( ( X = 0 )
| $less(Y,X) ) )
=> cr1cr2(X,Y) ) ).
tff(ax17,axiom,
! [X: $int,Y: $int] :
( cr1w2(X,Y)
=> sl1w2(0,Y) ) ).
tff(ax18,axiom,
! [X: $int,Y: $int] :
( cr1cr2(X,Y)
=> cr1sl2(X,0) ) ).
tff(conj1,conjecture,
( ! [X: $int,Y: $int] :
( ( $greatereq(X,0)
& $greatereq(Y,0) )
=> sl1sl2(X,Y) )
=> ? [U: $int,V: $int] : cr1w2(U,V) ) ).
%------------------------------------------------------------------------------
% End of file
%------------------------------------------------------------------------------