GV5 is statically satisfied by a fact whose observation type is indexed by its repository subject and by a correspondingly indexed fact collection.
{-# OPTIONS --safe #-}
module Govenv.Assurance.GV5 where
open import Agda.Builtin.Bool using (Bool; true)
open import Agda.Builtin.List using ([]; _∷_)
open import Agda.Builtin.Unit using (⊤; tt)
open import Govenv.Kernel.Assurance using (StaticEvidence; staticEvidence)
open import Govenv.Kernel.Fact using (Facts; observed; empty; _∷ᶠ_)
Observation : Bool → Set
Observation subject = ⊤
Proposition : Set
Proposition = Facts Bool Observation (true ∷ [])
proof : Proposition
proof = observed tt ∷ᶠ empty
evidence : StaticEvidence 5
evidence = staticEvidence Proposition proof