open import Arith::Bool::Core using (Bool, true, false)
open import Logic::False      using (¬)
open import Logic::Dec

open data Reflect Type Bool
| P, truereflectT P
| P, falsereflectF (¬ P)

def downgrade {P : Type} {b : Bool} (Reflect P b) : Dec P
| reflectT proofyes proof
| reflectF proofno proof