reserve k,n,m for Nat,
  a,x,X,Y for set,
  D,D1,D2,S for non empty set,
  p,q for FinSequence of NAT;
reserve F,F1,G,G1,H,H1,H2 for LTL-formula;
reserve sq,sq9 for FinSequence;
reserve L,L9 for FinSequence;
reserve j for Nat;
reserve j1 for Element of NAT;
reserve V for LTLModel;
reserve Kai for Function of atomic_LTL,the BasicAssign of V;
reserve f,f1,f2 for Function of LTL_WFF,the carrier of V;
reserve BASSIGN for non empty Subset of ModelSP(Inf_seq(S));
reserve t for Element of Inf_seq(S);
reserve f,g for Assign of Inf_seqModel(S,BASSIGN);
reserve r for Element of Inf_seq(AtomicFamily);

theorem
  r|= H1 'R' H2 iff for m being Nat holds ((for j being Nat st j<m holds
  Shift(r,j) |= 'not' H1) implies Shift(r,m) |= H2)
proof
A1: (for m being Nat holds ((for j being Nat st j<m holds Shift(r,j) |=
  'not' Evaluate(H1,AtomicKai)) implies Shift(r,m) |= Evaluate(H2,AtomicKai)) )
  implies for m being Nat holds ((for j being Nat st j<m holds Shift(r,j) |=
  'not' H1) implies Shift(r,m) |= H2)
  proof
    assume
A2: for m being Nat holds ((for j being Nat st j<m holds Shift(r,j) |=
'not' Evaluate(H1,AtomicKai)) implies Shift(r,m) |= Evaluate(H2,AtomicKai));
    for m being Nat holds ((for j being Nat st j<m holds Shift(r,j) |=
    'not' H1) implies Shift(r,m) |= H2 )
    proof
      let m be Nat;
      (for j being Nat st j<m holds Shift(r,j) |= 'not' H1) implies Shift(
      r,m) |= H2
      proof
        assume
A3:     for j being Nat st j<m holds Shift(r,j) |= 'not' H1;
        for j being Nat st j<m holds Shift(r,j) |= 'not' Evaluate(H1,
        AtomicKai)
        proof
          let j be Nat;
          assume j<m;
          then Shift(r,j) |= 'not' H1 by A3;
          then Shift(r,j) |= Evaluate('not' H1,AtomicKai);
          hence thesis by Th50;
        end;
        then Shift(r,m) |= Evaluate(H2,AtomicKai) by A2;
        hence thesis;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
A4: (for m being Nat holds ((for j being Nat st j<m holds Shift(r,j) |=
  'not' H1) implies Shift(r,m) |= H2)) implies for m being Nat holds ((for j
  being Nat st j<m holds Shift(r,j) |= 'not' Evaluate(H1,AtomicKai)) implies
  Shift(r,m) |= Evaluate(H2,AtomicKai))
  proof
    assume
A5: for m being Nat holds ((for j being Nat st j<m holds Shift(r,j) |=
    'not' H1) implies Shift(r,m) |= H2);
    for m being Nat holds ((for j being Nat st j<m holds Shift(r,j) |=
    'not' Evaluate(H1,AtomicKai)) implies Shift(r,m) |= Evaluate(H2,AtomicKai))
    proof
      let m be Nat;
      (for j being Nat st j<m holds Shift(r,j) |= 'not' Evaluate(H1,
      AtomicKai)) implies Shift(r,m) |= Evaluate(H2,AtomicKai)
      proof
        assume
A6:     for j being Nat st j<m holds Shift(r,j) |= 'not' Evaluate(H1,
        AtomicKai);
        for j being Nat st j<m holds Shift(r,j) |= 'not' H1
        proof
          let j be Nat;
          assume j<m;
          then Shift(r,j) |= 'not' Evaluate(H1,AtomicKai) by A6;
          then Shift(r,j) |= Evaluate('not' H1,AtomicKai) by Th50;
          hence thesis;
        end;
        then Shift(r,m) |= H2 by A5;
        hence thesis;
      end;
      hence thesis;
    end;
    hence thesis;
  end;
  r|= H1 'R' H2 iff r|= Evaluate(H1,AtomicKai) 'R' Evaluate(H2,AtomicKai)
  by Th55;
  hence thesis by A1,A4,Th62;
end;
