| eqt#( pid( N1 ) , pid( N2 ) ) | → | eqt#( N1 , N2 ) |
| eqt#( cons( H1 , T1 ) , cons( H2 , T2 ) ) | → | and#( eqt( H1 , H2 ) , eqt( T1 , T2 ) ) |
| eqt#( cons( H1 , T1 ) , cons( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( cons( H1 , T1 ) , cons( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | and#( eqt( H1 , H2 ) , eqt( T1 , T2 ) ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
| eqt#( tuplenil( H1 ) , tuplenil( H2 ) ) | → | eqt#( H1 , H2 ) |
| element#( int( s( s( N1 ) ) ) , tuple( T1 , T2 ) ) | → | element#( int( s( N1 ) ) , T2 ) |
| record_updates#( Record , Name , cons( tuple( Field , tuplenil( NewF ) ) , Fields ) ) | → | record_updates#( record_update( Record , Name , Field , NewF ) , Name , Fields ) |
| record_updates#( Record , Name , cons( tuple( Field , tuplenil( NewF ) ) , Fields ) ) | → | record_update#( Record , Name , Field , NewF ) |
| locker2_map_promote_pending#( cons( Lock , Locks ) , Pending ) | → | locker2_promote_pending#( Lock , Pending ) |
| locker2_map_promote_pending#( cons( Lock , Locks ) , Pending ) | → | locker2_map_promote_pending#( Locks , Pending ) |
| locker2_map_claim_lock#( cons( Lock , Locks ) , Resources , Client ) | → | locker2_map_claim_lock#( Locks , Resources , Client ) |
| locker2_promote_pending#( Lock , Client ) | → | case0#( Client , Lock , record_extract( Lock , lock , pending ) ) |
| locker2_promote_pending#( Lock , Client ) | → | record_extract#( Lock , lock , pending ) |
| case0#( Client , Lock , cons( Client , Pendings ) ) | → | record_updates#( Lock , lock , cons( tuple( excl , tuplenil( Client ) ) , cons( tuple( pending , tuplenil( Pendings ) ) , nil ) ) ) |
| locker2_remove_pending#( Lock , Client ) | → | record_updates#( Lock , lock , cons( tuple( pending , tuplenil( subtract( record_extract( Lock , lock , pending ) , cons( Client , nil ) ) ) ) , nil ) ) |
| locker2_remove_pending#( Lock , Client ) | → | subtract#( record_extract( Lock , lock , pending ) , cons( Client , nil ) ) |
| locker2_remove_pending#( Lock , Client ) | → | record_extract#( Lock , lock , pending ) |
| locker2_add_pending#( Lock , Resources , Client ) | → | case1#( Client , Resources , Lock , member( record_extract( Lock , lock , resource ) , Resources ) ) |
| locker2_add_pending#( Lock , Resources , Client ) | → | member#( record_extract( Lock , lock , resource ) , Resources ) |
| locker2_add_pending#( Lock , Resources , Client ) | → | record_extract#( Lock , lock , resource ) |
| case1#( Client , Resources , Lock , true ) | → | record_updates#( Lock , lock , cons( tuple( pending , tuplenil( append( record_extract( Lock , lock , pending ) , cons( Client , nil ) ) ) ) , nil ) ) |
| case1#( Client , Resources , Lock , true ) | → | append#( record_extract( Lock , lock , pending ) , cons( Client , nil ) ) |
| case1#( Client , Resources , Lock , true ) | → | record_extract#( Lock , lock , pending ) |
| locker2_release_lock#( Lock , Client ) | → | case2#( Client , Lock , gen_modtageq( Client , record_extract( Lock , lock , excl ) ) ) |
| locker2_release_lock#( Lock , Client ) | → | gen_modtageq#( Client , record_extract( Lock , lock , excl ) ) |
| locker2_release_lock#( Lock , Client ) | → | record_extract#( Lock , lock , excl ) |
| case2#( Client , Lock , true ) | → | record_updates#( Lock , lock , cons( tuple( excllock , excl ) , nil ) ) |
| locker2_obtainables#( cons( Lock , Locks ) , Client ) | → | case5#( Client , Locks , Lock , member( Client , record_extract( Lock , lock , pending ) ) ) |
| locker2_obtainables#( cons( Lock , Locks ) , Client ) | → | member#( Client , record_extract( Lock , lock , pending ) ) |
| locker2_obtainables#( cons( Lock , Locks ) , Client ) | → | record_extract#( Lock , lock , pending ) |
| case5#( Client , Locks , Lock , true ) | → | locker2_obtainables#( Locks , Client ) |
| case5#( Client , Locks , Lock , false ) | → | locker2_obtainables#( Locks , Client ) |
| locker2_check_available#( Resource , cons( Lock , Locks ) ) | → | case6#( Locks , Lock , Resource , equal( Resource , record_extract( Lock , lock , resource ) ) ) |
| locker2_check_available#( Resource , cons( Lock , Locks ) ) | → | record_extract#( Lock , lock , resource ) |
| case6#( Locks , Lock , Resource , true ) | → | record_extract#( Lock , lock , excl ) |
| case6#( Locks , Lock , Resource , true ) | → | record_extract#( Lock , lock , pending ) |
| case6#( Locks , Lock , Resource , false ) | → | locker2_check_available#( Resource , Locks ) |
| locker2_check_availables#( cons( Resource , Resources ) , Locks ) | → | locker2_check_available#( Resource , Locks ) |
| locker2_check_availables#( cons( Resource , Resources ) , Locks ) | → | locker2_check_availables#( Resources , Locks ) |
| append#( cons( Head , Tail ) , List ) | → | append#( Tail , List ) |
| subtract#( List , cons( Head , Tail ) ) | → | subtract#( delete( Head , List ) , Tail ) |
| subtract#( List , cons( Head , Tail ) ) | → | delete#( Head , List ) |
| delete#( E , cons( Head , Tail ) ) | → | case8#( Tail , Head , E , equal( E , Head ) ) |
| case8#( Tail , Head , E , false ) | → | delete#( E , Tail ) |
| member#( E , cons( Head , Tail ) ) | → | case9#( Tail , Head , E , equal( E , Head ) ) |
| case9#( Tail , Head , E , false ) | → | member#( E , Tail ) |
| eqs#( stack( E1 , S1 ) , stack( E2 , S2 ) ) | → | and#( eqt( E1 , E2 ) , eqs( S1 , S2 ) ) |
| eqs#( stack( E1 , S1 ) , stack( E2 , S2 ) ) | → | eqt#( E1 , E2 ) |
| eqs#( stack( E1 , S1 ) , stack( E2 , S2 ) ) | → | eqs#( S1 , S2 ) |
| istops#( E1 , stack( E2 , S1 ) ) | → | eqt#( E1 , E2 ) |
| eqc#( calls( E1 , S1 , CS1 ) , calls( E2 , S2 , CS2 ) ) | → | and#( eqt( E1 , E2 ) , and( eqs( S1 , S2 ) , eqc( CS1 , CS2 ) ) ) |
| eqc#( calls( E1 , S1 , CS1 ) , calls( E2 , S2 , CS2 ) ) | → | eqt#( E1 , E2 ) |
| eqc#( calls( E1 , S1 , CS1 ) , calls( E2 , S2 , CS2 ) ) | → | and#( eqs( S1 , S2 ) , eqc( CS1 , CS2 ) ) |
| eqc#( calls( E1 , S1 , CS1 ) , calls( E2 , S2 , CS2 ) ) | → | eqs#( S1 , S2 ) |
| eqc#( calls( E1 , S1 , CS1 ) , calls( E2 , S2 , CS2 ) ) | → | eqc#( CS1 , CS2 ) |
| push#( E1 , E2 , calls( E3 , S1 , CS1 ) ) | → | push1#( E1 , E2 , E3 , S1 , CS1 , eqt( E1 , E3 ) ) |
| push#( E1 , E2 , calls( E3 , S1 , CS1 ) ) | → | eqt#( E1 , E3 ) |
| push1#( E1 , E2 , E3 , S1 , CS1 , T ) | → | pushs#( E2 , S1 ) |
The dependency pairs are split into 11 component(s).
| eqc#( calls( E1 , S1 , CS1 ) , calls( E2 , S2 , CS2 ) ) | → | eqc#( CS1 , CS2 ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 + 1 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + x2 + 1 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 3 x1 + 3 x2 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 3 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_release_lock (x1, x2) ] | = | 2 x1 + 2 x2 + 1 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 2 x1 + 2 x2 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 1 | |
| [istops (x1, x2) ] | = | 3 x1 + 2 x2 + 2 | |
| [locker2_check_available (x1, x2) ] | = | 2 x1 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 3 x1 + 2 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | 2 x1 + 2 x2 + 2 x3 + 2 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + 3 x2 + x3 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + 1 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 0 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | 2 x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 | |
| [pushs (x1, x2) ] | = | x1 + 2 x2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | 2 x1 + 2 x2 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | 2 x1 + 2 x2 + 2 x3 + 2 | |
| [not (x1) ] | = | 2 | |
| [calls (x1, x2, x3) ] | = | 2 x1 + 1 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 0 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | 0 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [T] | = | 0 | |
| [eqc# (x1, x2) ] | = | x1 + x2 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + x2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | x1 | |
| [gen_modtageq (x1, x2) ] | = | x1 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | 0 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| eqs#( stack( E1 , S1 ) , stack( E2 , S2 ) ) | → | eqs#( S1 , S2 ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 + 3 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | 2 x1 + 2 x2 + 2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + x2 + 3 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 3 x1 + x2 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 3 x1 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 1 | |
| [locker2_release_lock (x1, x2) ] | = | 2 x1 + 2 x2 + 2 | |
| [element (x1, x2) ] | = | 2 x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 0 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 0 | |
| [istops (x1, x2) ] | = | 3 x1 | |
| [locker2_check_available (x1, x2) ] | = | 3 x1 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | 3 x1 + 2 x2 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + 3 x2 + 2 x3 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + 3 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | 2 x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [eqs# (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | 3 x1 + 2 x2 + 3 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [record_updates (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | 3 x1 + 2 x2 | |
| [not (x1) ] | = | 0 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 2 x1 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | 2 x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 2 x1 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 0 | |
| [gen_modtageq (x1, x2) ] | = | 2 x1 + 3 x2 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | 1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| eqt#( cons( H1 , T1 ) , cons( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( pid( N1 ) , pid( N2 ) ) | → | eqt#( N1 , N2 ) |
| eqt#( cons( H1 , T1 ) , cons( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
| eqt#( tuplenil( H1 ) , tuplenil( H2 ) ) | → | eqt#( H1 , H2 ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + x2 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 1 | |
| [case6 (x1, ..., x4) ] | = | 3 x1 + 2 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 3 x1 + 1 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_release_lock (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 0 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 1 | |
| [istops (x1, x2) ] | = | 2 x1 + x2 + 1 | |
| [locker2_check_available (x1, x2) ] | = | 2 x1 + 2 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 3 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | 2 x1 + x2 + 3 x3 + 3 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 2 x3 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | 2 x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 | |
| [pushs (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [eqt# (x1, x2) ] | = | x1 + 2 x2 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 2 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 1 | |
| [case8 (x1, ..., x4) ] | = | 2 x1 + x2 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | 0 | |
| [not (x1) ] | = | 1 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | x1 + 2 | |
| [tuplenil (x1) ] | = | 2 x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | x1 + 2 | |
| [eq (x1, x2) ] | = | 2 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 2 x1 + 3 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + x2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 0 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 + 2 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| eqt#( cons( H1 , T1 ) , cons( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( cons( H1 , T1 ) , cons( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
| eqt#( tuplenil( H1 ) , tuplenil( H2 ) ) | → | eqt#( H1 , H2 ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 + 3 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 3 x2 + 2 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 2 x1 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 2 x1 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 1 | |
| [locker2_release_lock (x1, x2) ] | = | 3 x1 + x2 + 3 | |
| [element (x1, x2) ] | = | x1 + 2 x2 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | x1 + 1 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 1 | |
| [istops (x1, x2) ] | = | x1 + 2 | |
| [locker2_check_available (x1, x2) ] | = | 2 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 0 | |
| [push (x1, x2, x3) ] | = | 3 x1 + 3 x2 + 1 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + 2 x2 + 1 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + 2 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 2 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | 2 x1 + x2 + 2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 + 3 | |
| [eqt# (x1, x2) ] | = | 3 x1 + 3 x2 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | x1 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [s (x1) ] | = | 2 x1 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | 3 x1 + 1 | |
| [not (x1) ] | = | 0 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 0 | |
| [tuplenil (x1) ] | = | 2 x1 | |
| [imp (x1, x2) ] | = | x1 + 1 | |
| [locker2_obtainables (x1, x2) ] | = | 0 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | x1 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 2 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | 0 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
| eqt#( tuplenil( H1 ) , tuplenil( H2 ) ) | → | eqt#( H1 , H2 ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + x3 + 3 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | 2 x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 3 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 1 | |
| [case6 (x1, ..., x4) ] | = | 2 x1 + 1 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 3 x1 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 2 | |
| [locker2_release_lock (x1, x2) ] | = | 3 x1 + 2 x2 + 2 | |
| [element (x1, x2) ] | = | 2 x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 2 x1 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 1 | |
| [istops (x1, x2) ] | = | 0 | |
| [locker2_check_available (x1, x2) ] | = | 2 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 + 2 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | 2 x1 + 2 x2 + 1 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 2 x3 + 3 | |
| [case1 (x1, ..., x4) ] | = | x1 + 3 x2 + 3 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | 2 x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 2 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | 2 x1 + x2 + 1 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [eqt# (x1, x2) ] | = | x1 + x2 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 1 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 3 x3 + 2 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | 0 | |
| [not (x1) ] | = | 2 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | x1 + 3 | |
| [tuplenil (x1) ] | = | 2 x1 + 1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | x1 + 3 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 2 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 + 3 x2 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 + 2 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( H1 , H2 ) |
| eqt#( tuple( H1 , T1 ) , tuple( H2 , T2 ) ) | → | eqt#( T1 , T2 ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 + 3 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 3 | |
| [lock] | = | 2 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 2 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 2 x1 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 2 | |
| [locker2_release_lock (x1, x2) ] | = | 3 x1 + 2 x2 + 3 | |
| [element (x1, x2) ] | = | 2 x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 2 x1 + 2 x2 + 2 x3 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 3 x1 + 3 | |
| [istops (x1, x2) ] | = | 0 | |
| [locker2_check_available (x1, x2) ] | = | 2 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 3 x1 + 1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | x1 + 2 x2 + 2 x3 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 2 x3 + 3 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + 3 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | 2 x1 + x2 + 1 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | x1 + x2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [eqt# (x1, x2) ] | = | x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 1 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 2 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 + 2 x2 + 2 x3 + 2 x4 | |
| [not (x1) ] | = | 3 | |
| [calls (x1, x2, x3) ] | = | 2 x1 + x2 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 1 | |
| [tuplenil (x1) ] | = | 2 x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | 1 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 1 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 x2 + 3 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 2 x1 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 + 2 x2 + 2 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 2 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| element#( int( s( s( N1 ) ) ) , tuple( T1 , T2 ) ) | → | element#( int( s( N1 ) ) , T2 ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + x2 + x3 | |
| [locker] | = | 2 | |
| [a] | = | 2 | |
| [stack (x1, x2) ] | = | 2 x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + x2 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 0 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 3 x1 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | 2 x1 + x2 | |
| [locker2_release_lock (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 0 | |
| [resource] | = | 1 | |
| [and (x1, x2) ] | = | x1 + x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 0 | |
| [istops (x1, x2) ] | = | 2 x1 | |
| [locker2_check_available (x1, x2) ] | = | 0 | |
| [eqs (x1, x2) ] | = | 2 x1 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 3 x1 + 3 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 0 | |
| [push (x1, x2, x3) ] | = | 2 x1 + 3 x2 + 2 x3 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + 3 x2 + 2 x3 | |
| [case1 (x1, ..., x4) ] | = | x1 + 3 x2 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 0 | |
| [eqc (x1, x2) ] | = | 2 x1 + 1 | |
| [tuple (x1, x2) ] | = | 2 x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [element# (x1, x2) ] | = | 2 x1 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 | |
| [pushs (x1, x2) ] | = | 2 x1 + x2 | |
| [eqt (x1, x2) ] | = | x1 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | x1 + 2 x2 | |
| [s (x1) ] | = | 2 x1 + 1 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 + 2 x2 + 3 x3 + 2 x4 + x5 | |
| [not (x1) ] | = | 1 | |
| [calls (x1, x2, x3) ] | = | 2 x1 + x2 + x3 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 0 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 + 2 | |
| [locker2_obtainables (x1, x2) ] | = | 0 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 2 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 2 x1 + 1 | |
| [pid (x1) ] | = | x1 + 1 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 0 | |
| [gen_modtageq (x1, x2) ] | = | 2 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | 0 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| locker2_map_promote_pending#( cons( Lock , Locks ) , Pending ) | → | locker2_map_promote_pending#( Locks , Pending ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 2 x1 + 2 x2 + 3 x3 + 1 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | 2 x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 1 | |
| [lock] | = | 1 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 0 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 2 x1 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 1 | |
| [locker2_release_lock (x1, x2) ] | = | x1 + 3 x2 + 3 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 3 x1 + 3 x2 | |
| [resource] | = | 1 | |
| [and (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_map_promote_pending# (x1, x2) ] | = | x1 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | x1 + 3 | |
| [istops (x1, x2) ] | = | x1 | |
| [locker2_check_available (x1, x2) ] | = | 0 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 2 x3 + 1 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 + 2 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | 2 x1 + x2 + 2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 + x2 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 | |
| [not (x1) ] | = | 1 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | x1 + 1 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | 2 x1 + x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 3 x1 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 + 1 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| record_updates#( Record , Name , cons( tuple( Field , tuplenil( NewF ) ) , Fields ) ) | → | record_updates#( record_update( Record , Name , Field , NewF ) , Name , Fields ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 + 2 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + 2 x2 + 1 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 3 x2 + 3 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 1 | |
| [case6 (x1, ..., x4) ] | = | 3 x1 + x2 + x3 + 3 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 3 x1 + x2 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | 2 x1 + 2 x2 + 2 | |
| [locker2_release_lock (x1, x2) ] | = | 3 x1 + 2 x2 + 2 | |
| [element (x1, x2) ] | = | x1 + 2 x2 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 3 x1 + 2 x2 + 3 x3 + 2 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 0 | |
| [istops (x1, x2) ] | = | 3 x1 + 2 x2 | |
| [locker2_check_available (x1, x2) ] | = | 3 x1 + 2 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | 0 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + 2 x2 + 2 x3 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + 2 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 3 x1 + 2 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | 2 x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 1 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [record_updates# (x1, x2, x3) ] | = | x1 + x2 | |
| [pushs (x1, x2) ] | = | 2 x1 + 3 x2 + 1 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | 2 x1 + 2 x2 + 2 | |
| [s (x1) ] | = | 3 x1 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | 0 | |
| [not (x1) ] | = | 3 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 0 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 + 2 | |
| [locker2_obtainables (x1, x2) ] | = | 0 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | x1 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 2 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 3 x1 + 2 | |
| [gen_modtageq (x1, x2) ] | = | x1 + 3 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| locker2_map_claim_lock#( cons( Lock , Locks ) , Resources , Client ) | → | locker2_map_claim_lock#( Locks , Resources , Client ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + x2 + x3 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 3 x2 + 2 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 2 | |
| [case6 (x1, ..., x4) ] | = | 2 x1 + 2 x2 + 2 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | x1 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | 2 x1 + 2 x2 + 1 | |
| [locker2_release_lock (x1, x2) ] | = | 2 x1 + 3 x2 + 2 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 2 | |
| [case9 (x1, ..., x4) ] | = | 2 x1 | |
| [resource] | = | 2 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 0 | |
| [istops (x1, x2) ] | = | 2 x1 | |
| [locker2_check_available (x1, x2) ] | = | x1 + 1 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 2 x3 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 2 x3 + 1 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + 2 x2 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 3 x1 + 2 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 1 | |
| [pushs (x1, x2) ] | = | x1 + 2 x2 + 1 | |
| [eqt (x1, x2) ] | = | 0 | |
| [locker2_map_claim_lock# (x1, x2, x3) ] | = | x1 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | 2 x1 + 2 x2 + 1 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 + 2 x2 + x3 | |
| [not (x1) ] | = | 1 | |
| [calls (x1, x2, x3) ] | = | x1 + x2 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 2 x1 + 3 x2 + 2 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | 2 x1 + 2 | |
| [eq (x1, x2) ] | = | 1 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 + 1 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 1 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 0 | |
| [gen_modtageq (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 2 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| case5#( Client , Locks , Lock , true ) | → | locker2_obtainables#( Locks , Client ) |
| locker2_obtainables#( cons( Lock , Locks ) , Client ) | → | case5#( Client , Locks , Lock , member( Client , record_extract( Lock , lock , pending ) ) ) |
| case5#( Client , Locks , Lock , false ) | → | locker2_obtainables#( Locks , Client ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 | |
| [a] | = | 0 | |
| [locker] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 0 | |
| [locker2_obtainables# (x1, x2) ] | = | 0 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 3 x1 + 3 x2 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_release_lock (x1, x2) ] | = | 3 x1 + x2 | |
| [element (x1, x2) ] | = | 2 x1 | |
| [true] | = | 1 | |
| [case9 (x1, ..., x4) ] | = | 2 x1 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 1 | |
| [istops (x1, x2) ] | = | x1 + x2 + 1 | |
| [locker2_check_available (x1, x2) ] | = | 0 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 + 3 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | x1 + x2 + 2 x3 + 3 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 2 x3 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + x4 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [case5# (x1, ..., x4) ] | = | 2 x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 | |
| [pushs (x1, x2) ] | = | x1 + 2 x2 + 1 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [nocalls] | = | 1 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | 2 x1 + x2 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 + 3 | |
| [not (x1) ] | = | 3 | |
| [calls (x1, x2, x3) ] | = | 2 | |
| [excl] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [case5 (x1, ..., x4) ] | = | 2 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 + 2 | |
| [locker2_obtainables (x1, x2) ] | = | 2 | |
| [ok] | = | 0 | |
| [eq (x1, x2) ] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | 2 x1 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 0 | |
| [gen_modtageq (x1, x2) ] | = | 0 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| locker2_obtainables#( cons( Lock , Locks ) , Client ) | → | case5#( Client , Locks , Lock , member( Client , record_extract( Lock , lock , pending ) ) ) |
| case5#( Client , Locks , Lock , false ) | → | locker2_obtainables#( Locks , Client ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 + 3 | |
| [a] | = | 0 | |
| [locker] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + x2 + 2 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 2 | |
| [case6 (x1, ..., x4) ] | = | 1 | |
| [locker2_obtainables# (x1, x2) ] | = | 2 x1 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 2 x1 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 2 | |
| [locker2_release_lock (x1, x2) ] | = | 3 x1 + 2 x2 + 3 | |
| [element (x1, x2) ] | = | x1 + x2 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 0 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 1 | |
| [istops (x1, x2) ] | = | 3 | |
| [locker2_check_available (x1, x2) ] | = | 1 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 + 1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | 0 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + 2 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [case5# (x1, ..., x4) ] | = | 2 x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 3 | |
| [pushs (x1, x2) ] | = | 2 x1 + x2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | 2 x1 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 2 | |
| [s (x1) ] | = | 3 x1 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | 0 | |
| [not (x1) ] | = | 0 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 2 x1 + x2 + 1 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | 2 x1 | |
| [ok] | = | 0 | |
| [eq (x1, x2) ] | = | 2 | |
| [tag] | = | 1 | |
| [case0 (x1, x2, x3) ] | = | x1 + x2 + 3 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | x1 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 x2 + 3 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 0 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 + 3 x2 + 3 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 + 1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| case5#( Client , Locks , Lock , false ) | → | locker2_obtainables#( Locks , Client ) |
The dependency pairs are split into 0 component(s).
| locker2_check_availables#( cons( Resource , Resources ) , Locks ) | → | locker2_check_availables#( Resources , Locks ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 2 x1 + 2 x2 + 3 x3 + 1 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | 2 x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 1 | |
| [lock] | = | 1 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 0 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 2 x1 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 1 | |
| [locker2_release_lock (x1, x2) ] | = | x1 + 3 x2 + 3 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 3 x1 + 3 x2 | |
| [resource] | = | 1 | |
| [and (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | x1 + 3 | |
| [istops (x1, x2) ] | = | x1 | |
| [locker2_check_available (x1, x2) ] | = | 0 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 2 x3 + 1 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 + 2 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | 2 x1 + x2 + 2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 + x2 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 | |
| [not (x1) ] | = | 1 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | x1 + 1 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_check_availables# (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | 2 x1 + x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 3 x1 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 + 1 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| append#( cons( Head , Tail ) , List ) | → | append#( Tail , List ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 2 x1 + 2 x2 + 3 x3 + 1 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | 2 x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 1 | |
| [lock] | = | 1 | |
| [or (x1, x2) ] | = | 0 | |
| [case6 (x1, ..., x4) ] | = | 0 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | 2 x1 + 2 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + x2 + 1 | |
| [locker2_release_lock (x1, x2) ] | = | x1 + 3 x2 + 3 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 3 x1 + 3 x2 | |
| [resource] | = | 1 | |
| [and (x1, x2) ] | = | x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | x1 + 3 | |
| [istops (x1, x2) ] | = | x1 | |
| [locker2_check_available (x1, x2) ] | = | 0 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | x1 + 2 x2 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 2 x3 + 1 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | 2 x1 + 2 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | 2 x1 + x2 + 2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 + x2 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | x1 + x2 + 1 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 | |
| [not (x1) ] | = | 1 | |
| [calls (x1, x2, x3) ] | = | 0 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | x1 + 1 | |
| [tuplenil (x1) ] | = | x1 | |
| [imp (x1, x2) ] | = | x1 | |
| [locker2_obtainables (x1, x2) ] | = | x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | 2 x1 + x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + 2 | |
| [append# (x1, x2) ] | = | x1 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [delete (x1, x2) ] | = | x1 | |
| [member (x1, x2) ] | = | 3 x1 | |
| [gen_modtageq (x1, x2) ] | = | 3 x1 + 1 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | x1 | |
| [release] | = | 0 | |
| [case4 (x1, x2, x3) ] | = | 3 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| subtract#( List , cons( Head , Tail ) ) | → | subtract#( delete( Head , List ) , Tail ) |
Linear polynomial interpretation over the naturals
| [locker2_add_pending (x1, x2, x3) ] | = | 3 x1 + 2 x2 + 3 x3 + 1 | |
| [locker] | = | 0 | |
| [a] | = | 0 | |
| [stack (x1, x2) ] | = | x1 + x2 | |
| [locker2_remove_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [lock] | = | 0 | |
| [or (x1, x2) ] | = | 1 | |
| [case6 (x1, ..., x4) ] | = | 3 x1 + 2 x2 + 2 | |
| [0] | = | 0 | |
| [locker2_check_availables (x1, x2) ] | = | x1 | |
| [F] | = | 0 | |
| [cons (x1, x2) ] | = | x1 + 2 x2 + 1 | |
| [locker2_release_lock (x1, x2) ] | = | 2 x1 + 2 x2 + 1 | |
| [element (x1, x2) ] | = | x1 | |
| [true] | = | 0 | |
| [case9 (x1, ..., x4) ] | = | 0 | |
| [resource] | = | 0 | |
| [and (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [locker2_adduniq (x1, x2) ] | = | x1 | |
| [tops (x1) ] | = | x1 | |
| [record_new (x1) ] | = | 0 | |
| [istops (x1, x2) ] | = | 2 x1 | |
| [locker2_check_available (x1, x2) ] | = | 2 x1 | |
| [eqs (x1, x2) ] | = | 0 | |
| [request] | = | 0 | |
| [gen_tag (x1) ] | = | 2 x1 | |
| [mcrlrecord] | = | 0 | |
| [locker2_map_add_pending (x1, x2, x3) ] | = | 3 | |
| [push (x1, x2, x3) ] | = | x1 + 2 x2 + 3 x3 | |
| [empty] | = | 0 | |
| [record_update (x1, ..., x4) ] | = | x1 + 2 x2 + 1 | |
| [case1 (x1, ..., x4) ] | = | 3 x1 + x2 + 3 x3 + 1 | |
| [locker2_map_claim_lock (x1, x2, x3) ] | = | x1 | |
| [eqc (x1, x2) ] | = | 0 | |
| [tuple (x1, x2) ] | = | x1 + x2 | |
| [append (x1, x2) ] | = | x1 | |
| [false] | = | 0 | |
| [locker2_promote_pending (x1, x2) ] | = | 3 x1 + 2 | |
| [pushs (x1, x2) ] | = | x1 + 2 x2 | |
| [eqt (x1, x2) ] | = | 0 | |
| [subtract (x1, x2) ] | = | x1 | |
| [locker2_map_promote_pending (x1, x2) ] | = | 3 x1 | |
| [record_updates (x1, x2, x3) ] | = | x1 + x2 | |
| [nocalls] | = | 0 | |
| [record_extract (x1, x2, x3) ] | = | x1 | |
| [andt (x1, x2) ] | = | 0 | |
| [case8 (x1, ..., x4) ] | = | 2 x1 + x2 + 1 | |
| [s (x1) ] | = | 0 | |
| [undefined] | = | 0 | |
| [pending] | = | 0 | |
| [push1 (x1, ..., x6) ] | = | x1 + x2 + 2 x3 | |
| [not (x1) ] | = | 1 | |
| [calls (x1, x2, x3) ] | = | x1 | |
| [if (x1, x2, x3) ] | = | x1 + x2 | |
| [excl] | = | 0 | |
| [case5 (x1, ..., x4) ] | = | 2 x1 + 2 x2 | |
| [tuplenil (x1) ] | = | 2 x1 | |
| [imp (x1, x2) ] | = | x1 + 3 | |
| [locker2_obtainables (x1, x2) ] | = | 2 x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [ok] | = | 0 | |
| [tag] | = | 0 | |
| [case0 (x1, x2, x3) ] | = | x1 + 2 x2 + 2 | |
| [T] | = | 0 | |
| [nil] | = | 0 | |
| [int (x1) ] | = | 0 | |
| [pid (x1) ] | = | 0 | |
| [equal (x1, x2) ] | = | 0 | |
| [pops (x1) ] | = | x1 | |
| [case2 (x1, x2, x3) ] | = | x1 + x2 + 1 | |
| [delete (x1, x2) ] | = | x1 | |
| [excllock] | = | 0 | |
| [locker2_obtainable (x1, x2) ] | = | 0 | |
| [member (x1, x2) ] | = | 0 | |
| [gen_modtageq (x1, x2) ] | = | 2 x1 + 2 x2 + 2 | |
| [locker2_claim_lock (x1, x2, x3) ] | = | 0 | |
| [release] | = | 0 | |
| [subtract# (x1, x2) ] | = | x1 | |
| [case4 (x1, x2, x3) ] | = | 2 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.