Theorem: LO.System.cut! (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 𝓢
p₁ c q₁ p₂ q₂ : F
d₁ : 𝓢 ⊢! p₁ ⋏ c ⟶ q₁
d₂ : 𝓢 ⊢! p₂ ⟶ c ⋎ q₂
⊢ 𝓢 ⊢! p₁ ⋏ p₂ ⟶ q₁ ⋎ q₂
Tactic:
apply deduct'!
State after:
case h
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 𝓢
p₁ c q₁ p₂ q₂ : F
d₁ : 𝓢 ⊢! p₁ ⋏ c ⟶ q₁
d₂ : 𝓢 ⊢! p₂ ⟶ c ⋎ q₂
⊢ [p₁ ⋏ p₂] ⊢[𝓢]! q₁ ⋎ q₂

State before:
case h
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 𝓢
p₁ c q₁ p₂ q₂ : F
d₁ : 𝓢 ⊢! p₁ ⋏ c ⟶ q₁
d₂ : 𝓢 ⊢! p₂ ⟶ c ⋎ q₂
⊢ [p₁ ⋏ p₂] ⊢[𝓢]! q₁ ⋎ q₂
Tactic:
exact disj₃'! (implyOrLeft'! $ of'! (andImplyIffImplyImply'!.mp d₁) ⨀ (conj₁'! id!)) disj₂! (of'! d₂ ⨀ conj₂'! id!)
State after:
no goals