reserve A,B,p,q,r,s for Element of LTLB_WFF,
  i,j,k,n for Element of NAT,
  X for Subset of LTLB_WFF,
  f,f1 for FinSequence of LTLB_WFF,
  g for Function of LTLB_WFF,BOOLEAN;

theorem Th58: X |- (('X' p) => ('X' q)) => ('X' (p => q))
  proof
    set pq = p => q,npq = 'not' pq,nq = 'not' q,xnq = 'X' nq,xq = 'X' q,
    xnpq = 'X' npq, xpq = 'X' pq, nxpq = 'not' xpq,xp = 'X' p,nxq ='not' xq;
    nxpq => xnpq in LTL_axioms by LTLAXIO1:def 17;
    then A1: X |- nxpq => xnpq by LTLAXIO1:42;
    npq => p is ctaut by Th31;
    then npq => p in LTL_axioms by LTLAXIO1:def 17;
    then X |- npq => p by LTLAXIO1:42;
    then A2: X |- 'X' (npq => p) by LTLAXIO1:44;
    nxpq => xp => (nxpq => nxq => (nxpq => ('not' (xp => xq)))) is ctaut
    by Th47;then
    nxpq => xp => (nxpq => nxq => (nxpq => ('not' (xp => xq)))) in LTL_axioms
    by LTLAXIO1:def 17;then
A3: X |- nxpq => xp => (nxpq => nxq => (nxpq => ('not' (xp => xq))))
    by LTLAXIO1:42;
    xnq => nxq in LTL_axioms by LTLAXIO1:def 17;
    then A4: X |- xnq => nxq by LTLAXIO1:42;
    npq => nq is ctaut by Th32;
    then npq => nq in LTL_axioms by LTLAXIO1:def 17;
    then X |- npq => nq by LTLAXIO1:42;
    then A5: X |- 'X' (npq => nq) by LTLAXIO1:44;
    xnpq => nxpq in LTL_axioms by LTLAXIO1:def 17;
    then A6: X |- xnpq => nxpq by LTLAXIO1:42;
    ('X' (npq => nq)) => (('X' npq) => xnq) in LTL_axioms by LTLAXIO1:def 17;
    then X |- ('X' (npq => nq)) => (xnpq => xnq) by LTLAXIO1:42;
    then X |- xnpq => xnq by LTLAXIO1:43,A5;
    then X |- nxpq => xnq by A1,A6,Th54;
    then A7: X |- nxpq => nxq by A4,LTLAXIO1:47;
    ('X' (npq => p)) => (xnpq => xp) in LTL_axioms by LTLAXIO1:def 17;
    then X |- ('X' (npq => p)) => (xnpq => xp) by LTLAXIO1:42;
    then X |- xnpq => xp by A2,LTLAXIO1:43;
    then X |- nxpq => xp by A6,Th54,A1;then
    X |- nxpq => nxq => (nxpq => ('not' (xp => xq))) by A3,LTLAXIO1:43;
    then X |- nxpq => ('not' (xp => xq)) by LTLAXIO1:43,A7;
    then A8: X |- ('not' 'not' (xp => xq)) => ('not' nxpq) by LTLAXIO1:52;
    (xp => xq) => ('not' 'not' (xp => xq)) is ctaut by Th26;then
    (xp => xq) => ('not' 'not' (xp => xq)) in LTL_axioms by LTLAXIO1:def 17;
    then A9: X |- (xp => xq) => ('not' 'not' (xp => xq)) by LTLAXIO1:42;
    ('not' 'not' (xp => xq)) => (xp => xq) is ctaut by Th25;then
    ('not' 'not' (xp => xq)) => (xp => xq) in LTL_axioms by LTLAXIO1:def 17;
    then A10: X |- ('not' 'not' (xp => xq)) => (xp => xq) by LTLAXIO1:42;
    ('not' nxpq) => xpq is ctaut by Th25;
    then ('not' nxpq) => xpq in LTL_axioms by LTLAXIO1:def 17;
    then X |- ('not' nxpq) => xpq by LTLAXIO1:42;
    then X |- ('not' 'not' (xp => xq)) => xpq by LTLAXIO1:47,A8;
    hence thesis by A9,A10,Th54;
  end;
