Theorem: LO.Modal.Standard.MaximalParametricConsistentTheory.multibox_multidia (Logic/Modal/Standard/Kripke/Completeness.lean)

State before:
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory) ↔ ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
Tactic:
constructor
State after:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory) → ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory

case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory) → ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory

State before:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory) → ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory

case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory) → ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
Tactic:
. intro H p;
  contrapose;
  intro h;
  apply iff_mem_neg.mp;
  apply H;
  apply mem_dn_iff.mpr;
  apply (neg_iff $ mem_multidia_dual).mp;
  exact iff_mem_neg.mpr h;
State after:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory) → ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory) → ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
Tactic:
. intro H p;
  contrapose;
  intro h;
  apply iff_mem_neg.mp;
  apply (neg_iff $ mem_multibox_dual).mpr;
  apply iff_mem_negneg.mpr;
  apply H;
  exact iff_mem_neg.mpr h;
State after:
no goals

State before:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory) → ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
Tactic:
intro H p
State after:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
⊢ p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory

State before:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
⊢ p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
Tactic:
contrapose
State after:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
⊢ ◇^[n]p ∉ Ω₁.theory → p ∉ Ω₂.theory

State before:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
⊢ ◇^[n]p ∉ Ω₁.theory → p ∉ Ω₂.theory
Tactic:
intro h
State after:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ p ∉ Ω₂.theory

State before:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ p ∉ Ω₂.theory
Tactic:
apply iff_mem_neg.mp
State after:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ ~p ∈ Ω₂.theory

State before:
case mp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ ~p ∈ Ω₂.theory
Tactic:
apply H
State after:
case mp.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ □^[n](~p) ∈ Ω₁.theory

State before:
case mp.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ □^[n](~p) ∈ Ω₁.theory
Tactic:
apply mem_dn_iff.mpr
State after:
case mp.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ ~~(□^[n](~p)) ∈ Ω₁.theory

State before:
case mp.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ ~~(□^[n](~p)) ∈ Ω₁.theory
Tactic:
apply (neg_iff $ mem_multidia_dual).mp
State after:
case mp.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ ~(◇^[n]p) ∈ Ω₁.theory

State before:
case mp.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
p : Formula α
h : ◇^[n]p ∉ Ω₁.theory
⊢ ~(◇^[n]p) ∈ Ω₁.theory
Tactic:
exact iff_mem_neg.mpr h
State after:
no goals

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p : Formula α
n : ℕ
⊢ (∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory) → ∀ {p : Formula α}, □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
Tactic:
intro H p
State after:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
⊢ □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
⊢ □^[n]p ∈ Ω₁.theory → p ∈ Ω₂.theory
Tactic:
contrapose
State after:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
⊢ p ∉ Ω₂.theory → □^[n]p ∉ Ω₁.theory

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
⊢ p ∉ Ω₂.theory → □^[n]p ∉ Ω₁.theory
Tactic:
intro h
State after:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ □^[n]p ∉ Ω₁.theory

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ □^[n]p ∉ Ω₁.theory
Tactic:
apply iff_mem_neg.mp
State after:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ~(□^[n]p) ∈ Ω₁.theory

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ~(□^[n]p) ∈ Ω₁.theory
Tactic:
apply (neg_iff $ mem_multibox_dual).mpr
State after:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ~~(◇^[n](~p)) ∈ Ω₁.theory

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ~~(◇^[n](~p)) ∈ Ω₁.theory
Tactic:
apply iff_mem_negneg.mpr
State after:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ◇^[n](~p) ∈ Ω₁.theory

State before:
case mpr
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ◇^[n](~p) ∈ Ω₁.theory
Tactic:
apply H
State after:
case mpr.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ~p ∈ Ω₂.theory

State before:
case mpr.a
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
L : DeductionParameter α
inst✝ : L.Normal
Ω Ω₁ Ω₂ : MCT L
p✝ : Formula α
n : ℕ
H : ∀ {p : Formula α}, p ∈ Ω₂.theory → ◇^[n]p ∈ Ω₁.theory
p : Formula α
h : p ∉ Ω₂.theory
⊢ ~p ∈ Ω₂.theory
Tactic:
exact iff_mem_neg.mpr h
State after:
no goals