diff --git a/theories/algebra/agree.v b/theories/algebra/agree.v index 2a6b94f843a2ed2088fbe2878ae405a9aa8e29fa..78c581b6dd44ece828c67f612e4a59fd83849eeb 100644 --- a/theories/algebra/agree.v +++ b/theories/algebra/agree.v @@ -26,11 +26,10 @@ Proof. Thus Ag(T) is not necessarily complete. *) -Record agree (A : Type) : Type := Agree { +Record agree (A : Type) : Type := { agree_car : list A; agree_not_nil : bool_decide (agree_car = []) = false }. -Arguments Agree {_} _ _. Arguments agree_car {_} _. Arguments agree_not_nil {_} _. Local Coercion agree_car : agree >-> list. @@ -82,7 +81,7 @@ Instance agree_validN : ValidN (agree A) := λ n x, Instance agree_valid : Valid (agree A) := λ x, ∀ n, ✓{n} x. Program Instance agree_op : Op (agree A) := λ x y, - Agree (agree_car x ++ agree_car y) _. + {| agree_car := agree_car x ++ agree_car y |}. Next Obligation. by intros [[|??]] y. Qed. Instance agree_pcore : PCore (agree A) := Some.