Theorem: OrderIso.arrowCongr_symm_apply
File: Mathlib/Order/Hom/Basic.lean

Proof steps:
state_before: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p : α →o β
⊢ (fun f => ⇑f) ((fun p => (↑g.symm).comp (p.comp ↑f)) ((fun p => (↑g).comp (p.comp ↑f.symm)) p)) = (fun f => ⇑f) p
state_after: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p : α →o β
⊢ (⇑g.symm ∘ ⇑g) ∘ ⇑p ∘ ⇑f.symm ∘ ⇑f = ⇑p
tactic: change (g.symm ∘ g) ∘ p ∘ (f.symm ∘ f) = p
state_before: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p : α →o β
⊢ (⇑g.symm ∘ ⇑g) ∘ ⇑p ∘ ⇑f.symm ∘ ⇑f = ⇑p
state_after: no goals
tactic: simp only [← DFunLike.coe_eq_coe_fn, ← OrderIso.coe_trans, Function.id_comp,
               OrderIso.self_trans_symm, OrderIso.coe_refl, Function.comp_id]
state_before: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p : γ →o δ
⊢ (fun f => ⇑f) ((fun p => (↑g).comp (p.comp ↑f.symm)) ((fun p => (↑g.symm).comp (p.comp ↑f)) p)) = (fun f => ⇑f) p
state_after: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p : γ →o δ
⊢ (⇑g ∘ ⇑g.symm) ∘ ⇑p ∘ ⇑f ∘ ⇑f.symm = ⇑p
tactic: change (g ∘ g.symm) ∘ p ∘ (f ∘ f.symm) = p
state_before: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p : γ →o δ
⊢ (⇑g ∘ ⇑g.symm) ∘ ⇑p ∘ ⇑f ∘ ⇑f.symm = ⇑p
state_after: no goals
tactic: simp only [← DFunLike.coe_eq_coe_fn, ← OrderIso.coe_trans, Function.id_comp,
               OrderIso.symm_trans_self, OrderIso.coe_refl, Function.comp_id]
state_before: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p q : α →o β
⊢ { toFun := fun p => (↑g).comp (p.comp ↑f.symm), invFun := fun p => (↑g.symm).comp (p.comp ↑f), left_inv := ⋯,
          right_inv := ⋯ }
        p ≤
      { toFun := fun p => (↑g).comp (p.comp ↑f.symm), invFun := fun p => (↑g.symm).comp (p.comp ↑f), left_inv := ⋯,
          right_inv := ⋯ }
        q ↔
    p ≤ q
state_after: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p q : α →o β
⊢ (∀ (x : γ), p (f.symm x) ≤ q (f.symm x)) ↔ ∀ (x : α), p x ≤ q x
tactic: simp only [Equiv.coe_fn_mk, OrderHom.le_def, OrderHom.comp_coe,
               OrderHomClass.coe_coe, Function.comp_apply, map_le_map_iff]
state_before: F : Type u_1
α✝ : Type u_2
β✝ : Type u_3
γ✝ : Type u_4
δ✝ : Type u_5
inst✝⁶ : LE α✝
inst✝⁵ : LE β✝
inst✝⁴ : LE γ✝
α : Type ?u.63266
β : Type ?u.63269
γ : Type ?u.63272
δ : Type ?u.63275
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : Preorder γ
inst✝ : Preorder δ
f : α ≃o γ
g : β ≃o δ
p q : α →o β
⊢ (∀ (x : γ), p (f.symm x) ≤ q (f.symm x)) ↔ ∀ (x : α), p x ≤ q x
state_after: no goals
tactic: exact Iff.symm f.forall_congr_left