import Graded.Modality
module Graded.Modality.Dedicated-star
{a} {M : Set a}
(open Graded.Modality M)
(š : Modality)
where
open Modality š
open import Tools.Empty
open import Tools.Function
open import Tools.Nullary
open import Tools.PropositionalEquality
private variable
A : Set _
record Dedicated-star : Set a where
constructor dedicated-star
field
star : ā-available
Dedicated-star-propositional : (p q : Dedicated-star) ā p ā” q
Dedicated-star-propositional (dedicated-star sā) (dedicated-star sā) =
cong dedicated-star (ā-available-propositional sā sā)
record No-dedicated-star : Set a where
constructor no-dedicated-star
field
no-star : ¬ ā-available
not-star-and-no-star :
⦠star : Dedicated-star ⦠⦠no-star : No-dedicated-star ⦠ā ā„
not-star-and-no-star
⦠star = dedicated-star s ⦠⦠no-star = no-dedicated-star ns ⦠=
ns s
data Dedicated-star? : Set a where
does-have-star : ⦠has-star : Dedicated-star ⦠ā Dedicated-star?
does-not-have-star : ⦠no-star : No-dedicated-star ⦠ā Dedicated-star?
dedicated-star? : Dedicated-star?
dedicated-star? = case ā-available-decided of Ī» where
(yes has-star) ā does-have-star ⦠has-star = dedicated-star has-star ā¦
(no no-star) ā
does-not-have-star ⦠no-star = no-dedicated-star no-star ā¦