Theorem: LO.System.implyRightReplaceIff'! (Logic/Logic/HilbertStyle/Supplemental.lean)

State before:
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ p ↔ 𝓢 ⊢! r ⟶ q
Tactic:
constructor
State after:
case mp
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ p → 𝓢 ⊢! r ⟶ q

case mpr
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ q → 𝓢 ⊢! r ⟶ p

State before:
case mp
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ p → 𝓢 ⊢! r ⟶ q

case mpr
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ q → 𝓢 ⊢! r ⟶ p
Tactic:
. intro hrp; exact imp_trans! hrp $ conj₁'! h;
State after:
case mpr
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ q → 𝓢 ⊢! r ⟶ p

State before:
case mpr
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ q → 𝓢 ⊢! r ⟶ p
Tactic:
. intro hrq; exact imp_trans! hrq $ conj₂'! h;
State after:
no goals

State before:
case mp
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ p → 𝓢 ⊢! r ⟶ q
Tactic:
intro hrp
State after:
case mp
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
hrp : 𝓢 ⊢! r ⟶ p
⊢ 𝓢 ⊢! r ⟶ q

State before:
case mp
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
hrp : 𝓢 ⊢! r ⟶ p
⊢ 𝓢 ⊢! r ⟶ q
Tactic:
exact imp_trans! hrp $ conj₁'! h
State after:
no goals

State before:
case mpr
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
⊢ 𝓢 ⊢! r ⟶ q → 𝓢 ⊢! r ⟶ p
Tactic:
intro hrq
State after:
case mpr
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
hrq : 𝓢 ⊢! r ⟶ q
⊢ 𝓢 ⊢! r ⟶ p

State before:
case mpr
F : Type u_1
inst✝⁴ : LogicalConnective F
inst✝³ : DecidableEq F
S : Type u_2
inst✝² : System F S
𝓢 : S
inst✝¹ : Minimal 𝓢
p q r : F
Γ Δ : List F
inst✝ : System.NegationEquiv 𝓢
h : 𝓢 ⊢! p ⟷ q
hrq : 𝓢 ⊢! r ⟶ q
⊢ 𝓢 ⊢! r ⟶ p
Tactic:
exact imp_trans! hrq $ conj₂'! h
State after:
no goals