@@ -651,6 +651,24 @@ contradict IHcnyP.
651651assumption.
652652Qed .
653653
654+ Lemma release_not_until :
655+ forall (J P : infseq T -> Prop) (s : infseq T),
656+ release J P s -> ~ until (~_ J) (~_ P) s.
657+ Proof .
658+ intros J P s rl un.
659+ induction un as [s Ps |x s Js IHun IH].
660+ destruct s as [x s].
661+ unfold not_tl in Ps.
662+ apply release_Cons in rl.
663+ destruct rl as [Psr rl].
664+ contradict Ps.
665+ assumption.
666+ apply release_Cons in rl.
667+ destruct rl as [Ps rl].
668+ unfold not_tl in Js.
669+ case rl; trivial.
670+ Qed .
671+
654672(* connector facts *)
655673
656674Lemma and_tl_comm :
@@ -745,6 +763,7 @@ Arguments weak_until_always_not_always [T J P s] _ _.
745763Arguments always_not_eventually_not [T P s] _ _.
746764Arguments continuously_not_inf_often [T P s] _ _.
747765Arguments inf_often_not_continuously [T P s] _ _.
766+ Arguments release_not_until [T J P s] _ _.
748767
749768Arguments and_tl_comm [T P Q s].
750769Arguments and_tl_assoc [T P Q R s].
@@ -755,14 +774,20 @@ Arguments not_tl_or_tl_and_tl [T P Q s] _ _.
755774
756775Ltac monotony :=
757776 match goal with
758- | [ |- now ?P ?s -> now ?Q ?s ] => apply now_monotonic
759- | [ |- next ?P ?s -> next ?Q ?s ] => apply next_monotonic
777+ | [ |- now ?P ?s -> now ?Q ?s ] =>
778+ apply now_monotonic
779+ | [ |- next ?P ?s -> next ?Q ?s ] =>
780+ apply next_monotonic
760781 | [ |- consecutive ?P ?s -> consecutive ?Q ?s ] =>
761782 apply consecutive_monotonic
762- | [ |- always ?P ?s -> always ?Q ?s ] => apply always_monotonic
763- | [ |- weak_until ?J ?P ?s -> weak_until ?K ?Q ?s ] => apply weak_until_monotonic
764- | [ |- until ?J ?P ?s -> until ?K ?Q ?s ] => apply until_monotonic
765- | [ |- release ?J ?P ?s -> release ?K ?Q ?s ] => apply release_monotonic
783+ | [ |- always ?P ?s -> always ?Q ?s ] =>
784+ apply always_monotonic
785+ | [ |- weak_until ?J ?P ?s -> weak_until ?K ?Q ?s ] =>
786+ apply weak_until_monotonic
787+ | [ |- until ?J ?P ?s -> until ?K ?Q ?s ] =>
788+ apply until_monotonic
789+ | [ |- release ?J ?P ?s -> release ?K ?Q ?s ] =>
790+ apply release_monotonic
766791 | [ |- ?J ?s -> eventually ?P ?s -> eventually ?Q ?s ] =>
767792 apply eventually_monotonic
768793 | [ |- continuously ?P ?s -> continuously ?Q ?s ] =>
0 commit comments