diff options
Diffstat (limited to 'src/hls/GiblePargenproofCommon.v')
-rw-r--r-- | src/hls/GiblePargenproofCommon.v | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/hls/GiblePargenproofCommon.v b/src/hls/GiblePargenproofCommon.v index 22b5978..2dbdf12 100644 --- a/src/hls/GiblePargenproofCommon.v +++ b/src/hls/GiblePargenproofCommon.v @@ -221,6 +221,21 @@ Proof. unfold predicated_not_inP; intros. eapply H. econstructor. right; eauto. Qed. +Lemma predicated_not_inP_equiv : + forall A (a: predicated A) p, + predicated_not_in p a = true -> predicated_not_inP p a. +Proof. + induction a. + - intros. cbn in *. unfold predicated_not_inP; intros. + unfold not; intros. inv H0. cbn in *. + destruct (predin peq p op) eqn:?; try discriminate. eapply predin_PredIn in H1. + rewrite H1 in Heqb. discriminate. + - intros. cbn in H. eapply andb_prop in H. inv H. eapply IHa in H0. + unfold predicated_not_inP in *; intros. inv H. inv H3; cbn in *; eauto. + unfold not; intros. eapply predin_PredIn in H. now rewrite H in H1. +Qed. + + Lemma truthy_dec: forall ps a, truthy ps a \/ falsy ps a. Proof. |