TPTP Problem File: SWV203+1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWV203+1 : TPTP v7.4.0. Bugfixed v3.3.0.
% Domain   : Software Verification
% Problem  : Simplified proof obligation quaternion_ds1_inuse_0014
% Version  : [DFS04] axioms : Especial.
% English  : Proof obligation emerging from the inuse-safety verification for
%            the quaternion_ds1 program. inuse-safety ensures that each sensor
%            reading passed as an input to the Kalman filter algorithm is
%            actually used during the computation of the output estimate.

% Refs     : [Fis04] Fischer (2004), Email to G. Sutcliffe
%          : [DFS04] Denney et al. (2004), Using Automated Theorem Provers
% Source   : [Fis04]
% Names    : quaternion_ds1_inuse_0014 [Fis04]

% Status   : Theorem
% Rating   : 0.44 v7.4.0, 0.30 v7.3.0, 0.34 v7.2.0, 0.31 v7.1.0, 0.30 v6.4.0, 0.31 v6.3.0, 0.33 v6.2.0, 0.40 v6.0.0, 0.39 v5.5.0, 0.48 v5.4.0, 0.54 v5.3.0, 0.56 v5.2.0, 0.45 v5.1.0, 0.52 v5.0.0, 0.54 v4.1.0, 0.57 v4.0.1, 0.61 v4.0.0, 0.67 v3.7.0, 0.70 v3.5.0, 0.74 v3.4.0, 0.79 v3.3.0
% Syntax   : Number of formulae    :   92 (  56 unit)
%            Number of atoms       :  307 ( 116 equality)
%            Maximal formula depth :   39 (   4 average)
%            Number of connectives :  223 (   8 ~  ;  17  |; 137  &)
%                                         (   5 <=>;  56 =>;   0 <=)
%                                         (   0 <~>;   0 ~|;   0 ~&)
%            Number of predicates  :    6 (   1 propositional; 0-2 arity)
%            Number of functors    :   43 (  25 constant; 0-4 arity)
%            Number of variables   :  174 (   0 singleton; 174 !;   0 ?)
%            Maximal term depth    :    9 (   1 average)
% SPC      : FOF_THM_RFO_SEQ

% Comments :
% Bugfixes : v3.3.0 - Bugfix in SWV003+0
%------------------------------------------------------------------------------
%----Include NASA software certification axioms
include('Axioms/SWV003+0.ax').
%------------------------------------------------------------------------------
%----Proof obligation generated by the AutoBayes/AutoFilter system
fof(quaternion_ds1_inuse_0014,conjecture,
    ( ( a_select2(rho_defuse,n0) = use
      & a_select2(rho_defuse,n1) = use
      & a_select2(rho_defuse,n2) = use
      & a_select2(sigma_defuse,n0) = use
      & a_select2(sigma_defuse,n1) = use
      & a_select2(sigma_defuse,n2) = use
      & a_select2(sigma_defuse,n3) = use
      & a_select2(sigma_defuse,n4) = use
      & a_select2(sigma_defuse,n5) = use
      & a_select3(u_defuse,n0,n0) = use
      & a_select3(u_defuse,n1,n0) = use
      & a_select3(u_defuse,n2,n0) = use
      & a_select2(xinit_defuse,n3) = use
      & a_select2(xinit_defuse,n4) = use
      & a_select2(xinit_defuse,n5) = use
      & a_select2(xinit_mean_defuse,n0) = use
      & a_select2(xinit_mean_defuse,n1) = use
      & a_select2(xinit_mean_defuse,n2) = use
      & a_select2(xinit_mean_defuse,n3) = use
      & a_select2(xinit_mean_defuse,n4) = use
      & a_select2(xinit_mean_defuse,n5) = use
      & a_select2(xinit_noise_defuse,n0) = use
      & a_select2(xinit_noise_defuse,n1) = use
      & a_select2(xinit_noise_defuse,n2) = use
      & a_select2(xinit_noise_defuse,n3) = use
      & a_select2(xinit_noise_defuse,n4) = use
      & a_select2(xinit_noise_defuse,n5) = use
      & leq(n0,pv5)
      & leq(pv5,n998)
      & gt(pv5,n0)
      & ! [A,B] :
          ( ( leq(n0,A)
            & leq(n0,B)
            & leq(A,n2)
            & leq(B,pred(pv5)) )
         => a_select3(u_defuse,A,B) = use )
      & ! [C,D] :
          ( ( leq(n0,C)
            & leq(n0,D)
            & leq(C,n2)
            & leq(D,pred(pv5)) )
         => a_select3(z_defuse,C,D) = use ) )
   => ! [E,F] :
        ( ( leq(n0,E)
          & leq(n0,F)
          & leq(E,n2)
          & leq(F,pv5) )
       => ( ( ~ ( n0 = E
                & pv5 = F )
            & ~ ( n1 = E
                & pv5 = F )
            & ~ ( n2 = E
                & pv5 = F ) )
         => a_select3(z_defuse,E,F) = use ) ) )).

%----Automatically generated axioms

fof(gt_5_4,axiom,
    ( gt(n5,n4) )).

fof(gt_998_4,axiom,
    ( gt(n998,n4) )).

fof(gt_998_5,axiom,
    ( gt(n998,n5) )).

fof(gt_4_tptp_minus_1,axiom,
    ( gt(n4,tptp_minus_1) )).

fof(gt_5_tptp_minus_1,axiom,
    ( gt(n5,tptp_minus_1) )).

fof(gt_998_tptp_minus_1,axiom,
    ( gt(n998,tptp_minus_1) )).

fof(gt_0_tptp_minus_1,axiom,
    ( gt(n0,tptp_minus_1) )).

fof(gt_1_tptp_minus_1,axiom,
    ( gt(n1,tptp_minus_1) )).

fof(gt_2_tptp_minus_1,axiom,
    ( gt(n2,tptp_minus_1) )).

fof(gt_3_tptp_minus_1,axiom,
    ( gt(n3,tptp_minus_1) )).

fof(gt_4_0,axiom,
    ( gt(n4,n0) )).

fof(gt_5_0,axiom,
    ( gt(n5,n0) )).

fof(gt_998_0,axiom,
    ( gt(n998,n0) )).

fof(gt_1_0,axiom,
    ( gt(n1,n0) )).

fof(gt_2_0,axiom,
    ( gt(n2,n0) )).

fof(gt_3_0,axiom,
    ( gt(n3,n0) )).

fof(gt_4_1,axiom,
    ( gt(n4,n1) )).

fof(gt_5_1,axiom,
    ( gt(n5,n1) )).

fof(gt_998_1,axiom,
    ( gt(n998,n1) )).

fof(gt_2_1,axiom,
    ( gt(n2,n1) )).

fof(gt_3_1,axiom,
    ( gt(n3,n1) )).

fof(gt_4_2,axiom,
    ( gt(n4,n2) )).

fof(gt_5_2,axiom,
    ( gt(n5,n2) )).

fof(gt_998_2,axiom,
    ( gt(n998,n2) )).

fof(gt_3_2,axiom,
    ( gt(n3,n2) )).

fof(gt_4_3,axiom,
    ( gt(n4,n3) )).

fof(gt_5_3,axiom,
    ( gt(n5,n3) )).

fof(gt_998_3,axiom,
    ( gt(n998,n3) )).

fof(finite_domain_4,axiom,
    ( ! [X] :
        ( ( leq(n0,X)
          & leq(X,n4) )
       => ( X = n0
          | X = n1
          | X = n2
          | X = n3
          | X = n4 ) ) )).

fof(finite_domain_5,axiom,
    ( ! [X] :
        ( ( leq(n0,X)
          & leq(X,n5) )
       => ( X = n0
          | X = n1
          | X = n2
          | X = n3
          | X = n4
          | X = n5 ) ) )).

fof(finite_domain_0,axiom,
    ( ! [X] :
        ( ( leq(n0,X)
          & leq(X,n0) )
       => X = n0 ) )).

fof(finite_domain_1,axiom,
    ( ! [X] :
        ( ( leq(n0,X)
          & leq(X,n1) )
       => ( X = n0
          | X = n1 ) ) )).

fof(finite_domain_2,axiom,
    ( ! [X] :
        ( ( leq(n0,X)
          & leq(X,n2) )
       => ( X = n0
          | X = n1
          | X = n2 ) ) )).

fof(finite_domain_3,axiom,
    ( ! [X] :
        ( ( leq(n0,X)
          & leq(X,n3) )
       => ( X = n0
          | X = n1
          | X = n2
          | X = n3 ) ) )).

fof(successor_4,axiom,
    ( succ(succ(succ(succ(n0)))) = n4 )).

fof(successor_5,axiom,
    ( succ(succ(succ(succ(succ(n0))))) = n5 )).

fof(successor_1,axiom,
    ( succ(n0) = n1 )).

fof(successor_2,axiom,
    ( succ(succ(n0)) = n2 )).

fof(successor_3,axiom,
    ( succ(succ(succ(n0))) = n3 )).
%------------------------------------------------------------------------------