Arguments resource_at_empty [phi] _ _.
Ltac inj_pair_tac :=
match goal with H: (@existT ?U ?P ?p ?x = @existT _ _ _ ?y) |- _ =>
generalize (@inj_pair2 U P p x y H); clear H; intro; try (subst x || subst y)
end.

Lemma ghost_fmap_join: forall a b c f g, join a b c ->
join (ghost_fmap f g a) (ghost_fmap f g b) (ghost_fmap f g c).