TPTP Problem File: SWV560-1.004.p
View Solutions
- Solve Problem
%------------------------------------------------------------------------------
% File : SWV560-1.004 : TPTP v9.0.0. Released v4.0.0.
% Domain : Software Verification
% Problem : Store inverse (t3_np_nf_ai_00004)
% Version : Especial.
% English : If the arrays resulting from swapping elements of array a with
% the elements of array b occurring in the same positions are equal,
% then a and b must have been equal to begin with.
% Refs : [Arm08] Armando (2008), Email to Geoff Sutcliffe
% : [AB+09] Armando et al. (2009), New Results on Rewrite-based Sa
% Source : [Arm08]
% Names : storeinv_invalid_t3_np_nf_ai_00004_001 [Arm08]
% Status : Satisfiable
% Rating : 1.00 v4.0.0
% Syntax : Number of clauses : 5 ( 4 unt; 1 nHn; 2 RR)
% Number of literals : 6 ( 6 equ; 1 neg)
% Maximal clause size : 2 ( 1 avg)
% Maximal term depth : 9 ( 2 avg)
% Number of predicates : 1 ( 0 usr; 0 prp; 2-2 aty)
% Number of functors : 8 ( 8 usr; 6 con; 0-3 aty)
% Number of variables : 10 ( 2 sgn)
% SPC : CNF_SAT_RFO_EQU_NUE
% Comments :
%------------------------------------------------------------------------------
cnf(a1,axiom,
select(store(A,I,E),I) = E ).
cnf(a2,axiom,
( I = J
| select(store(A,I,E),J) = select(A,J) ) ).
cnf(a3,axiom,
store(store(A,I,select(A,J)),J,select(A,I)) = store(store(A,J,select(A,I)),I,select(A,J)) ).
cnf(hyp0,hypothesis,
store(store(store(store(a1,i1,select(a2,i1)),i2,select(store(a2,i1,select(a1,i1)),i2)),i3,select(store(store(a2,i1,select(a1,i1)),i2,select(store(a1,i1,select(a2,i1)),i2)),i3)),i1,select(store(store(store(a2,i1,select(a1,i1)),i2,select(store(a1,i1,select(a2,i1)),i2)),i3,select(store(store(a1,i1,select(a2,i1)),i2,select(store(a2,i1,select(a1,i1)),i2)),i3)),i4)) = store(store(store(store(a2,i1,select(a1,i1)),i2,select(store(a1,i1,select(a2,i1)),i2)),i3,select(store(store(a1,i1,select(a2,i1)),i2,select(store(a2,i1,select(a1,i1)),i2)),i3)),i4,select(store(store(store(a1,i1,select(a2,i1)),i2,select(store(a2,i1,select(a1,i1)),i2)),i3,select(store(store(a2,i1,select(a1,i1)),i2,select(store(a1,i1,select(a2,i1)),i2)),i3)),i4)) ).
cnf(goal,negated_conjecture,
a1 != a2 ).
%------------------------------------------------------------------------------