Commit 88e93595 by Jacques-Henri Jourdan

### Whitespaces.

parent ca60948b
 ... @@ -14,7 +14,7 @@ Local Arguments op _ _ _ !_ /. ... @@ -14,7 +14,7 @@ Local Arguments op _ _ _ !_ /. Local Arguments pcore _ _ !_ /. Local Arguments pcore _ _ !_ /. (* This is isomorphic to option, but has a very different RA structure. *) (* This is isomorphic to option, but has a very different RA structure. *) Inductive dec_agree (A : Type) : Type := Inductive dec_agree (A : Type) : Type := | DecAgree : A → dec_agree A | DecAgree : A → dec_agree A | DecAgreeBot : dec_agree A. | DecAgreeBot : dec_agree A. Arguments DecAgree {_} _. Arguments DecAgree {_} _. ... ...
 ... @@ -22,7 +22,7 @@ Record DraMixin A `{Equiv A, Core A, Disjoint A, Op A, Valid A} := { ... @@ -22,7 +22,7 @@ Record DraMixin A `{Equiv A, Core A, Disjoint A, Op A, Valid A} := { mixin_dra_core_disjoint_l x : ✓ x → core x ## x; mixin_dra_core_disjoint_l x : ✓ x → core x ## x; mixin_dra_core_l x : ✓ x → core x ⋅ x ≡ x; mixin_dra_core_l x : ✓ x → core x ⋅ x ≡ x; mixin_dra_core_idemp x : ✓ x → core (core x) ≡ core x; mixin_dra_core_idemp x : ✓ x → core (core x) ≡ core x; mixin_dra_core_mono x y : mixin_dra_core_mono x y : ∃ z, ✓ x → ✓ y → x ## y → core (x ⋅ y) ≡ core x ⋅ z ∧ ✓ z ∧ core x ## z ∃ z, ✓ x → ✓ y → x ## y → core (x ⋅ y) ≡ core x ⋅ z ∧ ✓ z ∧ core x ## z }. }. Structure draT := DraT { Structure draT := DraT { ... @@ -81,7 +81,7 @@ Section dra_mixin. ... @@ -81,7 +81,7 @@ Section dra_mixin. Proof. apply (mixin_dra_core_l _ (dra_mixin A)). Qed. Proof. apply (mixin_dra_core_l _ (dra_mixin A)). Qed. Lemma dra_core_idemp x : ✓ x → core (core x) ≡ core x. Lemma dra_core_idemp x : ✓ x → core (core x) ≡ core x. Proof. apply (mixin_dra_core_idemp _ (dra_mixin A)). Qed. Proof. apply (mixin_dra_core_idemp _ (dra_mixin A)). Qed. Lemma dra_core_mono x y : Lemma dra_core_mono x y : ∃ z, ✓ x → ✓ y → x ## y → core (x ⋅ y) ≡ core x ⋅ z ∧ ✓ z ∧ core x ## z. ∃ z, ✓ x → ✓ y → x ## y → core (x ⋅ y) ≡ core x ⋅ z ∧ ✓ z ∧ core x ## z. Proof. apply (mixin_dra_core_mono _ (dra_mixin A)). Qed. Proof. apply (mixin_dra_core_mono _ (dra_mixin A)). Qed. End dra_mixin. End dra_mixin. ... @@ -209,7 +209,7 @@ Proof. ... @@ -209,7 +209,7 @@ Proof. assert (✓ y) by (rewrite EQ; by apply dra_op_valid). assert (✓ y) by (rewrite EQ; by apply dra_op_valid). split; first done. exists (to_validity z). split; first split. split; first done. exists (to_validity z). split; first split. + intros _. simpl. by split_and!. + intros _. simpl. by split_and!. + intros _. setoid_subst. by apply dra_op_valid. + intros _. setoid_subst. by apply dra_op_valid. + intros _. rewrite /= EQ //. + intros _. rewrite /= EQ //. Qed. Qed. *) *) ... ...
 ... @@ -8,7 +8,7 @@ Definition ofe_fun_insert `{EqDecision A} {B : A → ofeT} ... @@ -8,7 +8,7 @@ Definition ofe_fun_insert `{EqDecision A} {B : A → ofeT} match decide (x = x') with left H => eq_rect _ B y _ H | right _ => f x' end. match decide (x = x') with left H => eq_rect _ B y _ H | right _ => f x' end. Instance: Params (@ofe_fun_insert) 5. Instance: Params (@ofe_fun_insert) 5. Definition ofe_fun_singleton `{Finite A} {B : A → ucmraT} Definition ofe_fun_singleton `{Finite A} {B : A → ucmraT} (x : A) (y : B x) : ofe_fun B := ofe_fun_insert x y ε. (x : A) (y : B x) : ofe_fun B := ofe_fun_insert x y ε. Instance: Params (@ofe_fun_singleton) 5. Instance: Params (@ofe_fun_singleton) 5. ... ...
 ... @@ -6,7 +6,7 @@ Set Default Proof Using "Type". ... @@ -6,7 +6,7 @@ Set Default Proof Using "Type". category, and mathematically speaking, the entire development lives category, and mathematically speaking, the entire development lives in this category. However, we will generally prefer to work with raw in this category. However, we will generally prefer to work with raw Coq functions plus some registered Proper instances for non-expansiveness. Coq functions plus some registered Proper instances for non-expansiveness. This makes writing such functions much easier. It turns out that it many This makes writing such functions much easier. It turns out that it many cases, we do not even need non-expansiveness. cases, we do not even need non-expansiveness. *) *) ... ...
 ... @@ -311,7 +311,7 @@ Proof. done. Qed. ... @@ -311,7 +311,7 @@ Proof. done. Qed. Lemma sts_frag_up_valid s T : ✓ sts_frag_up s T ↔ tok s ## T. Lemma sts_frag_up_valid s T : ✓ sts_frag_up s T ↔ tok s ## T. Proof. Proof. split. split. - move=>/sts_frag_valid [H _]. apply H, elem_of_up. - move=>/sts_frag_valid [H _]. apply H, elem_of_up. - intros. apply sts_frag_valid; split. by apply closed_up. set_solver. - intros. apply sts_frag_valid; split. by apply closed_up. set_solver. Qed. Qed. ... ...
 ... @@ -228,7 +228,7 @@ Proof. ... @@ -228,7 +228,7 @@ Proof. revert P. revert P. induction k; intros P. induction k; intros P. - rewrite //= ?right_id. apply wand_intro_l. - rewrite //= ?right_id. apply wand_intro_l. rewrite {1}(nnupd_k_intro 0 (P -∗ False)%I) //= ?right_id. apply wand_elim_r. rewrite {1}(nnupd_k_intro 0 (P -∗ False)%I) //= ?right_id. apply wand_elim_r. - rewrite {2}(nnupd_k_unfold k P). - rewrite {2}(nnupd_k_unfold k P). apply and_intro. apply and_intro. * rewrite (nnupd_k_unfold k P). rewrite and_elim_l. * rewrite (nnupd_k_unfold k P). rewrite and_elim_l. ... @@ -291,9 +291,9 @@ Qed. ... @@ -291,9 +291,9 @@ Qed. End classical. End classical. (* We might wonder whether we can prove an adequacy lemma for nnupd. We could combine (* We might wonder whether we can prove an adequacy lemma for nnupd. We could combine the adequacy lemma for bupd with the previous result to get adquacy for nnupd, but the adequacy lemma for bupd with the previous result to get adquacy for nnupd, but this would rely on the classical axiom we needed to prove the equivalence! Can this would rely on the classical axiom we needed to prove the equivalence! Can we establish adequacy without axioms? Unfortunately not, because adequacy for we establish adequacy without axioms? Unfortunately not, because adequacy for nnupd would imply double negation elimination, which is classical: *) nnupd would imply double negation elimination, which is classical: *) Lemma nnupd_dne φ: (|=n=> ⌜¬¬ φ → φ⌝: uPred M)%I. Lemma nnupd_dne φ: (|=n=> ⌜¬¬ φ → φ⌝: uPred M)%I. ... @@ -327,7 +327,7 @@ Proof. ... @@ -327,7 +327,7 @@ Proof. intros ??? Hx'. rewrite left_id in Hx' *=> Hx'. intros ??? Hx'. rewrite left_id in Hx' *=> Hx'. unseal. unseal. assert (n' < S k ∨ n' = S k) as [|] by omega. assert (n' < S k ∨ n' = S k) as [|] by omega. * intros. move:(laterN_small n' (S k) x' False). rewrite //=. unseal. intros Hsmall. * intros. move:(laterN_small n' (S k) x' False). rewrite //=. unseal. intros Hsmall. eapply Hsmall; eauto. eapply Hsmall; eauto. * subst. intros. exfalso. eapply Hf2. exists x'. split; eauto using cmra_validN_S. * subst. intros. exfalso. eapply Hf2. exists x'. split; eauto using cmra_validN_S. - intros k P x Hx. rewrite ?Nat_iter_S_r. - intros k P x Hx. rewrite ?Nat_iter_S_r. ... ...
 ... @@ -84,7 +84,7 @@ End namespace. ... @@ -84,7 +84,7 @@ End namespace. (* The hope is that registering these will suffice to solve most goals (* The hope is that registering these will suffice to solve most goals of the forms: of the forms: - [N1 ## N2] - [N1 ## N2] - [↑N1 ⊆ E ∖ ↑N2 ∖ .. ∖ ↑Nn] - [↑N1 ⊆ E ∖ ↑N2 ∖ .. ∖ ↑Nn] - [E1 ∖ ↑N1 ⊆ E2 ∖ ↑N2 ∖ .. ∖ ↑Nn] *) - [E1 ∖ ↑N1 ⊆ E2 ∖ ↑N2 ∖ .. ∖ ↑Nn] *) Create HintDb ndisj. Create HintDb ndisj. ... ...
 ... @@ -82,7 +82,7 @@ Section sts. ... @@ -82,7 +82,7 @@ Section sts. sts_own γ s1 T ==∗ sts_own γ s2 T. sts_own γ s1 T ==∗ sts_own γ s2 T. Proof. Proof. intros ??. apply own_update, sts_update_frag_up; [|done..]. intros ??. apply own_update, sts_update_frag_up; [|done..]. intros Hdisj. apply sts.closed_up. done. intros Hdisj. apply sts.closed_up. done. Qed. Qed. Lemma sts_own_weaken_tok γ s T1 T2 : Lemma sts_own_weaken_tok γ s T1 T2 : ... ...
 ... @@ -60,7 +60,7 @@ Module uPred_reflection. Section uPred_reflection. ... @@ -60,7 +60,7 @@ Module uPred_reflection. Section uPred_reflection. match e with match e with | ETrue => None | ETrue => None | EVar n' => if decide (n = n') then Some ETrue else None | EVar n' => if decide (n = n') then Some ETrue else None | ESep e1 e2 => | ESep e1 e2 => match cancel_go n e1 with match cancel_go n e1 with | Some e1' => Some (ESep e1' e2) | Some e1' => Some (ESep e1' e2) | None => ESep e1 <\$> cancel_go n e2 | None => ESep e1 <\$> cancel_go n e2 ... ...