Theorem: LO.Modal.Standard.provable_efq_of_provable_S4 (Logic/Modal/Standard/Kripke/ModalCompanion.lean)

State before:
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p
⊢ 𝐒𝟒 ⊢! pᵍ
Tactic:
induction h.some with
| eaxm ih =>
  simp_all only [Set.mem_setOf_eq];
  obtain ⟨p, hp⟩ := ih; subst hp;
  exact nec! efq!;
| mdp hpq hp ihpq ihp =>
  exact axiomT'! $ axiomK''! (by simpa using ihpq ⟨hpq⟩) $ nec! $ ihp ⟨hp⟩;
| verum => apply verum!;
| imply₁ => exact case_imply₁;
| imply₂ => exact case_imply₂;
| conj₁ => simp only [GoedelTranslation.imp_def, GoedelTranslation.and_def]; exact nec! conj₁!;
| conj₂ => simp only [GoedelTranslation.imp_def, GoedelTranslation.and_def]; exact nec! conj₂!;
| conj₃ => exact case_conj₃;
| disj₁ => simp only [GoedelTranslation.imp_def, GoedelTranslation.or_def]; exact nec! disj₁!;
| disj₂ => simp only [GoedelTranslation.imp_def, GoedelTranslation.or_def]; exact nec! disj₂!;
| disj₃ => exact case_disj₃;
State after:
no goals

State before:
case eaxm
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ : Superintuitionistic.Formula α
ih : p✝ ∈ Ax(𝐈𝐧𝐭)
h : 𝐈𝐧𝐭 ⊢! p✝
⊢ 𝐒𝟒 ⊢! p✝ᵍ
Tactic:
simp_all only [Set.mem_setOf_eq]
State after:
case eaxm
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ : Superintuitionistic.Formula α
ih : ∃ p, Axioms.EFQ p = p✝
h : 𝐈𝐧𝐭 ⊢! p✝
⊢ 𝐒𝟒 ⊢! p✝ᵍ

State before:
case eaxm
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ : Superintuitionistic.Formula α
ih : ∃ p, Axioms.EFQ p = p✝
h : 𝐈𝐧𝐭 ⊢! p✝
⊢ 𝐒𝟒 ⊢! p✝ᵍ
Tactic:
obtain ⟨p, hp⟩ := ih
State after:
case eaxm.intro
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p✝¹ q r p✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝
p : Superintuitionistic.Formula α
hp : Axioms.EFQ p = p✝
⊢ 𝐒𝟒 ⊢! p✝ᵍ

State before:
case eaxm.intro
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p✝¹ q r p✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝
p : Superintuitionistic.Formula α
hp : Axioms.EFQ p = p✝
⊢ 𝐒𝟒 ⊢! p✝ᵍ
Tactic:
subst hp
State after:
case eaxm.intro
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p✝ q r p : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! Axioms.EFQ p
⊢ 𝐒𝟒 ⊢! Axioms.EFQ pᵍ

State before:
case eaxm.intro
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p✝ q r p : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! Axioms.EFQ p
⊢ 𝐒𝟒 ⊢! Axioms.EFQ pᵍ
Tactic:
exact nec! efq!
State after:
no goals

State before:
case mdp
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
hpq : Superintuitionistic.Deduction 𝐈𝐧𝐭 (p✝ ⟶ q✝)
hp : Superintuitionistic.Deduction 𝐈𝐧𝐭 p✝
ihpq : 𝐈𝐧𝐭 ⊢! p✝ ⟶ q✝ → 𝐒𝟒 ⊢! (p✝ ⟶ q✝)ᵍ
ihp : 𝐈𝐧𝐭 ⊢! p✝ → 𝐒𝟒 ⊢! p✝ᵍ
h : 𝐈𝐧𝐭 ⊢! q✝
⊢ 𝐒𝟒 ⊢! q✝ᵍ
Tactic:
exact axiomT'! $ axiomK''! (by simpa using ihpq ⟨hpq⟩) $ nec! $ ihp ⟨hp⟩
State after:
no goals

State before:
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
hpq : Superintuitionistic.Deduction 𝐈𝐧𝐭 (p✝ ⟶ q✝)
hp : Superintuitionistic.Deduction 𝐈𝐧𝐭 p✝
ihpq : 𝐈𝐧𝐭 ⊢! p✝ ⟶ q✝ → 𝐒𝟒 ⊢! (p✝ ⟶ q✝)ᵍ
ihp : 𝐈𝐧𝐭 ⊢! p✝ → 𝐒𝟒 ⊢! p✝ᵍ
h : 𝐈𝐧𝐭 ⊢! q✝
⊢ 𝐒𝟒 ⊢! □(p✝ᵍ ⟶ q✝ᵍ)
Tactic:
simpa using ihpq ⟨hpq⟩
State after:
no goals

State before:
case verum
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! ⊤
⊢ 𝐒𝟒 ⊢! ⊤ᵍ
Tactic:
apply verum!
State after:
no goals

State before:
case imply₁
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⟶ q✝ ⟶ p✝
⊢ 𝐒𝟒 ⊢! (p✝ ⟶ q✝ ⟶ p✝)ᵍ
Tactic:
exact case_imply₁
State after:
no goals

State before:
case imply₂
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ r✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! (p✝ ⟶ q✝ ⟶ r✝) ⟶ (p✝ ⟶ q✝) ⟶ p✝ ⟶ r✝
⊢ 𝐒𝟒 ⊢! ((p✝ ⟶ q✝ ⟶ r✝) ⟶ (p✝ ⟶ q✝) ⟶ p✝ ⟶ r✝)ᵍ
Tactic:
exact case_imply₂
State after:
no goals

State before:
case conj₁
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⋏ q✝ ⟶ p✝
⊢ 𝐒𝟒 ⊢! (p✝ ⋏ q✝ ⟶ p✝)ᵍ
Tactic:
simp only [GoedelTranslation.imp_def, GoedelTranslation.and_def]
State after:
case conj₁
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⋏ q✝ ⟶ p✝
⊢ 𝐒𝟒 ⊢! □(p✝ᵍ ⋏ q✝ᵍ ⟶ p✝ᵍ)

State before:
case conj₁
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⋏ q✝ ⟶ p✝
⊢ 𝐒𝟒 ⊢! □(p✝ᵍ ⋏ q✝ᵍ ⟶ p✝ᵍ)
Tactic:
exact nec! conj₁!
State after:
no goals

State before:
case conj₂
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⋏ q✝ ⟶ q✝
⊢ 𝐒𝟒 ⊢! (p✝ ⋏ q✝ ⟶ q✝)ᵍ
Tactic:
simp only [GoedelTranslation.imp_def, GoedelTranslation.and_def]
State after:
case conj₂
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⋏ q✝ ⟶ q✝
⊢ 𝐒𝟒 ⊢! □(p✝ᵍ ⋏ q✝ᵍ ⟶ q✝ᵍ)

State before:
case conj₂
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⋏ q✝ ⟶ q✝
⊢ 𝐒𝟒 ⊢! □(p✝ᵍ ⋏ q✝ᵍ ⟶ q✝ᵍ)
Tactic:
exact nec! conj₂!
State after:
no goals

State before:
case conj₃
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⟶ q✝ ⟶ p✝ ⋏ q✝
⊢ 𝐒𝟒 ⊢! (p✝ ⟶ q✝ ⟶ p✝ ⋏ q✝)ᵍ
Tactic:
exact case_conj₃
State after:
no goals

State before:
case disj₁
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⟶ p✝ ⋎ q✝
⊢ 𝐒𝟒 ⊢! (p✝ ⟶ p✝ ⋎ q✝)ᵍ
Tactic:
simp only [GoedelTranslation.imp_def, GoedelTranslation.or_def]
State after:
case disj₁
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⟶ p✝ ⋎ q✝
⊢ 𝐒𝟒 ⊢! □(p✝ᵍ ⟶ p✝ᵍ ⋎ q✝ᵍ)

State before:
case disj₁
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! p✝ ⟶ p✝ ⋎ q✝
⊢ 𝐒𝟒 ⊢! □(p✝ᵍ ⟶ p✝ᵍ ⋎ q✝ᵍ)
Tactic:
exact nec! disj₁!
State after:
no goals

State before:
case disj₂
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! q✝ ⟶ p✝ ⋎ q✝
⊢ 𝐒𝟒 ⊢! (q✝ ⟶ p✝ ⋎ q✝)ᵍ
Tactic:
simp only [GoedelTranslation.imp_def, GoedelTranslation.or_def]
State after:
case disj₂
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! q✝ ⟶ p✝ ⋎ q✝
⊢ 𝐒𝟒 ⊢! □(q✝ᵍ ⟶ p✝ᵍ ⋎ q✝ᵍ)

State before:
case disj₂
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! q✝ ⟶ p✝ ⋎ q✝
⊢ 𝐒𝟒 ⊢! □(q✝ᵍ ⟶ p✝ᵍ ⋎ q✝ᵍ)
Tactic:
exact nec! disj₂!
State after:
no goals

State before:
case disj₃
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Inhabited α
inst✝ : Encodable α
i𝓓 : Superintuitionistic.DeductionParameter α
m𝓓 : DeductionParameter α
p q r p✝ q✝ r✝ : Superintuitionistic.Formula α
h : 𝐈𝐧𝐭 ⊢! (p✝ ⟶ r✝) ⟶ (q✝ ⟶ r✝) ⟶ p✝ ⋎ q✝ ⟶ r✝
⊢ 𝐒𝟒 ⊢! ((p✝ ⟶ r✝) ⟶ (q✝ ⟶ r✝) ⟶ p✝ ⋎ q✝ ⟶ r✝)ᵍ
Tactic:
exact case_disj₃
State after:
no goals