From 1e2d180b73572a4bc4be1d502d3014696ed6e2b4 Mon Sep 17 00:00:00 2001 From: Robbert Krebbers <mail@robbertkrebbers.nl> Date: Thu, 19 Nov 2015 16:18:51 +0100 Subject: [PATCH] COFE on type with leibniz equality. --- iris/cofe.v | 2 ++ prelude/base.v | 2 ++ 2 files changed, 4 insertions(+) diff --git a/iris/cofe.v b/iris/cofe.v index eb43c721c..7c48363ad 100644 --- a/iris/cofe.v +++ b/iris/cofe.v @@ -272,6 +272,8 @@ Section discrete_cofe. End discrete_cofe. Arguments discrete_cofeC _ {_ _}. +Definition leibniz_cofeC (A : Type) : cofeT := @discrete_cofeC A equivL _. + (** Later *) Inductive later (A : Type) : Type := Later { later_car : A }. Arguments Later {_} _. diff --git a/prelude/base.v b/prelude/base.v index 497e040cf..30ec94664 100644 --- a/prelude/base.v +++ b/prelude/base.v @@ -194,6 +194,8 @@ Ltac unfold_leibniz := repeat setoid_rewrite <-(leibniz_equiv (A:=A)) end. +Definition equivL {A} : Equiv A := (=). + (** A [Params f n] instance forces the setoid rewriting mechanism not to rewrite in the first [n] arguments of the function [f]. We will declare such instances for all operational type classes in this development. *) -- GitLab