Skip to content
  • Robbert Krebbers's avatar
    Tweak the algebraic hierarchy. · a3d0a338
    Robbert Krebbers authored
    - Make the carrier argument of the constructors for the canonical structures
      cofeT and cmraT explicit. This way we make sure the carrier is properly
      exposed, instead of some alias of the carrier.
    - Make derived constructions (such as discreteC and discreteR) notations
      instead of definitions. This is yet again to make sure that the carrier is
      properly exposed.
    - Turn DRA into a canonical structure (it used to be a type class).
    
    This fixes some issues, notably it fixes some broken rewrites in algebra/sts
    and it makes canonical structures work properly with dec_agree.
    a3d0a338