Commit 0b843fa1 authored by Michael Sammler's avatar Michael Sammler
Browse files

upgrade to coq 8.14.0

parent aa80dd32
Pipeline #55549 passed with stage
in 30 minutes and 46 seconds
......@@ -9,6 +9,10 @@ Proof. split; rewrite -ly_align_log_ly_align_eq_iff; destruct ly1,ly2; naive_sol
Global Instance simpl_layout_leq ly1 ly2 : SimplBoth (ly1 ly2) (ly1.(ly_size) ly2.(ly_size) ly_align ly1 ly_align ly2)%nat.
Proof. split; rewrite /ly_align -Nat.pow_le_mono_r_iff //; lia. Qed.
Global Instance ly_size_ly_offset_eq ly n m `{!CanSolve (n ly_size ly)%nat}:
SimplBothRel (=) (ly_size (ly_offset ly n)) m (ly_size ly = m + n)%nat.
Proof. unfold CanSolve in *. rewrite {1}/ly_size/=. split; lia. Qed.
Global Instance simpl_is_power_of_two_align ly :
SimplAnd (is_power_of_two (ly_align ly)) (λ T, T).
Proof. split => ?; last naive_solver. split => //. by eexists _. Qed.
......
......@@ -14,7 +14,7 @@ Class lockG Σ := LockG {
Definition lockΣ : gFunctors :=
#[GFunctor (constRF (authR (gset_disjUR string)));
GFunctor (constRF (exclR unitO))].
Instance subG_lockG {Σ} : subG lockΣ Σ lockG Σ.
Global Instance subG_lockG {Σ} : subG lockΣ Σ lockG Σ.
Proof. solve_inG. Qed.
Section type.
......
......@@ -160,7 +160,7 @@ Ltac normalize_goal4 :=
(* let Hr := eval unfold H in H in idtac Hr. *)
(* notypeclasses refine ( (λ x : Z, λ H : Normalize 0 x, _ ) _ _). *)
Hint Rewrite @insert_length @app_length : test_db.
#[export] Hint Rewrite @insert_length @app_length : test_db.
Goal l i (x : Z),
0%nat = length (<[i:=x]> l).
intros.
......
......@@ -243,7 +243,7 @@ Record type `{!typeG Σ} := {
ty_shr_pers l : Persistent (ty_own Shr l);
}.
Arguments ty_own : simpl never.
Existing Instance ty_shr_pers.
Global Existing Instance ty_shr_pers.
(** [memcast_compat_type] describes how a type can transfered via a
mem_cast (see also [ty_memcast_compat] below):
......@@ -283,7 +283,7 @@ Inductive MovableLst `{typeG Σ} : list type → Type :=
| ml_nil : MovableLst []
| ml_cons ty tyl `{!Movable ty, !MovableLst tyl} : MovableLst (ty::tyl).
Existing Class MovableLst.
Existing Instances ml_nil ml_cons.
Global Existing Instances ml_nil ml_cons.
Global Hint Mode MovableLst + + ! : typeclass_instances.
(* movable type *)
......@@ -396,7 +396,7 @@ Class Copyable `{!typeG Σ} (ty : type) `{!Movable ty} := {
(* TODO: the closing conjuct does not make much sense with True *)
q' vl, l {q'} vl ty.(ty_own_val) vl (l {q'} vl ={E}= True)
}.
Existing Instance copy_own_persistent.
Global Existing Instance copy_own_persistent.
Class LocInBounds `{!typeG Σ} (ty : type) (β : own_state) (n : nat) := {
loc_in_bounds_in_bounds l : ty.(ty_own) β l - loc_in_bounds l n
......
......@@ -7,7 +7,7 @@ Inductive tree A : Type :=
Arguments leaf {_}.
Arguments node {_}.
Instance inhabited_tree A : Inhabited (tree A).
Global Instance inhabited_tree A : Inhabited (tree A).
Proof. constructor. exact leaf. Qed.
Definition node_data {A} (t : tree A) : option (tree A * A * tree A) :=
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment