Theorem: LO.Propositional.Superintuitionistic.Formula.Kripke.ValidOnModel.imply₂ (Logic/Propositional/Superintuitionistic/Kripke/Semantics.lean)

State before:
α : Type u_1
inst✝ : Inhabited α
M : Model α
p q r : Formula α
⊢ M ⊧ (p ⟶ q ⟶ r) ⟶ (p ⟶ q) ⟶ p ⟶ r
Tactic:
simp_all only [ValidOnModel.iff_models, ValidOnModel, Satisfies.iff_models, Satisfies.imp_def]
State after:
α : Type u_1
inst✝ : Inhabited α
M : Model α
p q r : Formula α
⊢ ∀ (w : M.World) {w' : M.Frame.World},
    w ≺ w' →
      (∀ {w'_1 : M.Frame.World},
          w' ≺ w'_1 → Satisfies M w'_1 p → ∀ {w' : M.Frame.World}, w'_1 ≺ w' → Satisfies M w' q → Satisfies M w' r) →
        ∀ {w'_1 : M.Frame.World},
          w' ≺ w'_1 →
            (∀ {w' : M.Frame.World}, w'_1 ≺ w' → Satisfies M w' p → Satisfies M w' q) →
              ∀ {w' : M.Frame.World}, w'_1 ≺ w' → Satisfies M w' p → Satisfies M w' r

State before:
α : Type u_1
inst✝ : Inhabited α
M : Model α
p q r : Formula α
⊢ ∀ (w : M.World) {w' : M.Frame.World},
    w ≺ w' →
      (∀ {w'_1 : M.Frame.World},
          w' ≺ w'_1 → Satisfies M w'_1 p → ∀ {w' : M.Frame.World}, w'_1 ≺ w' → Satisfies M w' q → Satisfies M w' r) →
        ∀ {w'_1 : M.Frame.World},
          w' ≺ w'_1 →
            (∀ {w' : M.Frame.World}, w'_1 ≺ w' → Satisfies M w' p → Satisfies M w' q) →
              ∀ {w' : M.Frame.World}, w'_1 ≺ w' → Satisfies M w' p → Satisfies M w' r
Tactic:
intro w₁ w₂ _ hpqr w₃ hw₂₃ hpq w₄ hw₃₄ hp
State after:
α : Type u_1
inst✝ : Inhabited α
M : Model α
p q r : Formula α
w₁ : M.World
w₂ : M.Frame.World
a✝ : w₁ ≺ w₂
hpqr :
  ∀ {w' : M.Frame.World},
    w₂ ≺ w' → Satisfies M w' p → ∀ {w'_1 : M.Frame.World}, w' ≺ w'_1 → Satisfies M w'_1 q → Satisfies M w'_1 r
w₃ : M.Frame.World
hw₂₃ : w₂ ≺ w₃
hpq : ∀ {w' : M.Frame.World}, w₃ ≺ w' → Satisfies M w' p → Satisfies M w' q
w₄ : M.Frame.World
hw₃₄ : w₃ ≺ w₄
hp : Satisfies M w₄ p
⊢ Satisfies M w₄ r

State before:
α : Type u_1
inst✝ : Inhabited α
M : Model α
p q r : Formula α
w₁ : M.World
w₂ : M.Frame.World
a✝ : w₁ ≺ w₂
hpqr :
  ∀ {w' : M.Frame.World},
    w₂ ≺ w' → Satisfies M w' p → ∀ {w'_1 : M.Frame.World}, w' ≺ w'_1 → Satisfies M w'_1 q → Satisfies M w'_1 r
w₃ : M.Frame.World
hw₂₃ : w₂ ≺ w₃
hpq : ∀ {w' : M.Frame.World}, w₃ ≺ w' → Satisfies M w' p → Satisfies M w' q
w₄ : M.Frame.World
hw₃₄ : w₃ ≺ w₄
hp : Satisfies M w₄ p
⊢ Satisfies M w₄ r
Tactic:
exact hpqr (M.Frame.Rel_trans hw₂₃ hw₃₄) hp (M.Frame.Rel_refl w₄) (hpq hw₃₄ hp)
State after:
no goals