Remaining TODOs:
We admit own_WeaklyObjective, have monPred_own_weakly_objective, and the 2 don't match:
(* TODO upstream, fix [monPred_own_weakly_objective] with correct assumption. *)
#[global] Instance
own_WeaklyObjective `{Σ : cpp_logic} {A : cmra} `{!HasOwn mpredI A} γ (a : A) :
WeaklyObjective (PROP := iPropI _) (own γ a).
Proof.
Set Printing All.
epose proof (monPred_own_weakly_objective γ a).
Unset Printing All.
Admitted.
The mismatch is HasOwn vs inG and is in the wrong direction — HasOwn -> inG, which can't be provable. So I guess we're missing an HasOwnWeaklyObjective class — or a new member in existing classes. (It's unclear why we have 3 typeclasses in the first place).
Remaining TODOs:
own_WeaklyObjective.We admit
own_WeaklyObjective, havemonPred_own_weakly_objective, and the 2 don't match:The mismatch is
HasOwnvsinGand is in the wrong direction —HasOwn -> inG, which can't be provable. So I guess we're missing anHasOwnWeaklyObjectiveclass — or a new member in existing classes. (It's unclear why we have 3 typeclasses in the first place).