Theorem: AlgebraicGeometry.RingedSpace.basicOpen_res_eq
File: Mathlib/Geometry/RingedSpace/Basic.lean

tactic: apply le_antisymm
state_before: X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
⊢ X.basicOpen ((X.presheaf.map i) f) = X.basicOpen f
state_after: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
⊢ X.basicOpen ((X.presheaf.map i) f) ≤ X.basicOpen f

case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
⊢ X.basicOpen f ≤ X.basicOpen ((X.presheaf.map i) f)

tactic: rw [X.basicOpen_res i f]
state_before: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
⊢ X.basicOpen ((X.presheaf.map i) f) ≤ X.basicOpen f
state_after: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
⊢ V.unop ⊓ X.basicOpen f ≤ X.basicOpen f

tactic: exact inf_le_right
state_before: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
⊢ V.unop ⊓ X.basicOpen f ≤ X.basicOpen f
state_after: no goals

tactic: have := X.basicOpen_res (inv i) (X.presheaf.map i f)
state_before: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
⊢ X.basicOpen f ≤ X.basicOpen ((X.presheaf.map i) f)
state_after: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
this : X.basicOpen ((X.presheaf.map (inv i)) ((X.presheaf.map i) f)) = U.unop ⊓ X.basicOpen ((X.presheaf.map i) f)
⊢ X.basicOpen f ≤ X.basicOpen ((X.presheaf.map i) f)

tactic: rw [← comp_apply, ← X.presheaf.map_comp, IsIso.hom_inv_id, X.presheaf.map_id, id_apply] at this
state_before: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
this : X.basicOpen ((X.presheaf.map (inv i)) ((X.presheaf.map i) f)) = U.unop ⊓ X.basicOpen ((X.presheaf.map i) f)
⊢ X.basicOpen f ≤ X.basicOpen ((X.presheaf.map i) f)
state_after: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
this : X.basicOpen f = U.unop ⊓ X.basicOpen ((X.presheaf.map i) f)
⊢ X.basicOpen f ≤ X.basicOpen ((X.presheaf.map i) f)

tactic: rw [this]
state_before: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
this : X.basicOpen f = U.unop ⊓ X.basicOpen ((X.presheaf.map i) f)
⊢ X.basicOpen f ≤ X.basicOpen ((X.presheaf.map i) f)
state_after: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
this : X.basicOpen f = U.unop ⊓ X.basicOpen ((X.presheaf.map i) f)
⊢ U.unop ⊓ X.basicOpen ((X.presheaf.map i) f) ≤ X.basicOpen ((X.presheaf.map i) f)

tactic: exact inf_le_right
state_before: case a
X : RingedSpace
U V : (Opens ↑↑X.toPresheafedSpace)ᵒᵖ
i : U ⟶ V
inst✝ : IsIso i
f : ↑(X.presheaf.obj U)
this : X.basicOpen f = U.unop ⊓ X.basicOpen ((X.presheaf.map i) f)
⊢ U.unop ⊓ X.basicOpen ((X.presheaf.map i) f) ≤ X.basicOpen ((X.presheaf.map i) f)
state_after: no goals